【发布时间】:2014-08-31 17:22:25
【问题描述】:
我想隐藏本机浏览器自动完成,如果它已显示并且用户点击返回提交表单。
如果我的表单如下所示:
<form id="test-form" method="POST">
<input type="text" name="autoCompleteTestThang"/>
<button class="btn" type="submit" name="autoCompleteTestThang">Click Mee</button>
我的 js 是这样的:
$('#test-form .btn').click(function(event){
event.preventDefault();
// I'd be an ajax request really
console.log('Event Handled');
});
场景:
表单中的用户类型和本机浏览器自动完成功能已填充
用户点击回车提交表单
由于这是一个 ajax 调用
event.preventDefault();阻止所有默认表单事件处理自动完成建议列表仍然存在,用户必须单击以取消焦点并删除...这是我不想要的。
这是否可以隐藏自动完成功能,还是我只能像这样关闭它:
<input type="text" name="noAutoComplete" autocomplete="off" />
我知道我可以这样做并添加自定义自动完成功能。但如果我可以避免它,我希望使用本机自动完成功能。
【问题讨论】:
-
我怀疑除了完全隐藏它之外还有其他方法。每个浏览器都会按照自己的方式进行操作,并且它们所做的事情在 DOM 中没有表示,因此您没有“钩子”来开始操纵默认行为。
-
是的,我认为情况就是这样。
标签: javascript jquery html forms autocomplete