当使用xhtml1-transitional。使用以下HTML收集一个信用卡号
<input type="text" id="cardNumber" name="cardNumber" autocomplete='off'/>
将在W3C验证器上标记一个警告:
没有“自动完成”属性。
是否有一种符合标准的方法来禁用浏览器自动完成表单中的敏感字段?
当使用xhtml1-transitional。使用以下HTML收集一个信用卡号
<input type="text" id="cardNumber" name="cardNumber" autocomplete='off'/>
将在W3C验证器上标记一个警告:
没有“自动完成”属性。
是否有一种符合标准的方法来禁用浏览器自动完成表单中的敏感字段?
当前回答
这个解决方案对我很管用:
$('form,input,select,textarea').attr("autocomplete", "nope");
如果你想在这个区域使用自动填充:在元素中添加autocomplete="false" 例:
<input id="search" name="search" type="text" placeholder="Name or Code" autcomplete="false">
其他回答
我认为有一个更简单的方法。 用一个随机的名字(通过javascript)创建一个隐藏的输入,并设置用户名。重复输入密码。这样,您的后端脚本就可以确切地知道适当的字段名称是什么,同时保持自动补全在黑暗中。
我可能错了,但这只是个想法。
不,在Mozila Wiki上有一篇好文章。
我将继续使用无效属性。我认为这就是实用主义应该战胜认可的地方。
HTML 4:否
HTML 5:是
自动完成属性是一个枚举属性。属性 有两种状态。关键字on对应on状态,off对应off状态 关键字映射到关闭状态。属性也可以省略。的 缺少值default是开启状态。关闭状态表示通过 默认情况下,表单中的表单控件将有它们的自动填充字段名 出发的:出发的;on状态表示默认情况下,表单控件在 表单将自动填充字段名称设置为“on”。
参考:W3
我在2020年就做到了!
我基本上创建了一个css类,对我的输入应用-webkit-text-security。
这里有一个最近讨论的链接: https://stackoverflow.com/a/64471795/8754782
使用随机的“name”属性对我来说很有用。
我在发送表单时重置了name属性,以便在发送表单时仍然可以通过名称访问它。(使用id属性存储名称)