一尘不染

有W3C有效的方法来禁用HTML表单中的自动完成功能吗?

html

使用xhtml1-transitional.dtddoctype时,请使用以下HTML收集信用卡号

<input type="text" id="cardNumber" name="cardNumber" autocomplete='off'/>

将在W3C验证器上标记警告:

没有属性“自动完成”。

是否存在W3C /标准方法来禁用表单中敏感字段上的浏览器自动完成功能?


阅读 278

收藏
2020-05-10

共1个答案

一尘不染

这是MDC上的一篇好文章,解释了形成自动补全的问题(和解决方案)。微软也在这里发布了类似的内容。

老实说,如果这对您的用户来说很重要,则以这种方式“打破”标准似乎是适当的。例如,亚马逊相当多地使用了“自动完成”属性,并且看起来运行良好。

如果要完全删除警告,则可以使用JavaScript使用以下方法将属性应用于支持该警告的浏览器(IE和Firefox是重要的浏览器):someForm.setAttribute( "autocomplete", "off" ); someFormElm.setAttribute("autocomplete", "off" );

最后,如果您的站点使用HTTPS,则IE会自动关闭自动填充功能(据我所知,其他一些浏览器也是如此)。

更新资料

由于此答案仍然受到很多批评,我只想指出,在HTML5中,您可以在表单元素上使用’autocomplete’属性。请参阅W3C上的文档。

2020-05-10