通过CSS禁用自动完成功能

Dav*_*vid 86 html css forms

是否可以使用CSS在表单元素(特别是文本字段)上禁用自动完成功能?

我使用的标签库不允许自动完成元素,我想在不使用Javascript的情况下禁用自动完成功能.

小智 121

就目前而言,CSS中没有'autocomplete off'属性.但是,html有一个简单的代码:

<input type="text" id="foo" value="bar" autocomplete="off" />
Run Code Online (Sandbox Code Playgroud)

如果你正在寻找一个站点范围的效应器,一个简单的方法就是只需要一个js函数来运行所有'输入'并添加这个标签,或者寻找相应的css类/ id.

自动填充属性在Chrome和Firefox(!)中运行正常,但另请参阅W3C是否有有效的方法可以在HTML表单中禁用自动填充功能?

  • https://developer.mozilla.org/zh-CN/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion建议“ autocomplete =“ anyrandominvalidvalue”将起作用。 (3认同)

Chr*_*wes 47

您可以使用生成的idname每次都不同的,因此浏览器无法记住此文本字段并且无法建议某些值.

这至少是跨浏览器的安全替代方案,但我建议您使用RobertsonM(autocomplete="off")的答案.

  • 好主意,但它不会阻止信用卡号码被保存到未加密的自动完成数据库中. (4认同)
  • 这样做的副作用是,浏览器历史会被许多不同的(随机)表单字段弄得乱七八糟.浏览器本地数据库中每个已知值的查找都需要一些时间. (3认同)

ahh*_*arr 47

你可以通过jQuery轻松实现

$('input').attr('autocomplete','off');
Run Code Online (Sandbox Code Playgroud)

  • 在大多数情况下,$('form').attr('autocomplete','off'); 效率更高(请参阅下面的答案评论) (4认同)

Ern*_*est 14

如果您正在使用a form,则可以禁用所有自动填充功能,

<form id="Form1" runat="server" autocomplete="off">
Run Code Online (Sandbox Code Playgroud)


Sam*_*son 13

CSS没有这种能力.您需要使用客户端脚本.