使用xhtml1-transitional.dtddoctype时,请使用以下HTML收集信用卡号
xhtml1-transitional.dtd
<input type="text" id="cardNumber" name="cardNumber" autocomplete='off'/>
将在W3C验证器上标记警告:
没有属性“自动完成”。
是否存在W3C /标准方法来禁用表单中敏感字段上的浏览器自动完成功能?
这是MDC上的一篇好文章,解释了形成自动补全的问题(和解决方案)。微软也在这里发布了类似的内容。
老实说,如果这对您的用户来说很重要,则以这种方式“打破”标准似乎是适当的。例如,亚马逊相当多地使用了“自动完成”属性,并且看起来运行良好。
如果要完全删除警告,则可以使用JavaScript使用以下方法将属性应用于支持该警告的浏览器(IE和Firefox是重要的浏览器):someForm.setAttribute( "autocomplete", "off" ); someFormElm.setAttribute("autocomplete", "off" );
someForm.setAttribute( "autocomplete", "off" ); someFormElm.setAttribute("autocomplete", "off" );
最后,如果您的站点使用HTTPS,则IE会自动关闭自动填充功能(据我所知,其他一些浏览器也是如此)。
更新资料
由于此答案仍然受到很多批评,我只想指出,在HTML5中,您可以在表单元素上使用’autocomplete’属性。请参阅W3C上的文档。