如何阻止Firefox的自动完成?

时间:2009-03-25 16:49:16

标签: firefox input autofill

我们网站的几个部分用户需要输入一些信息,Firefox的自动填充会在页面加载时接管 - 大多数都是错误的!

例如,有一个“传真号码”字段,对于某些用户,Firefox一直在填写他们的电子邮件地址。如果他们没有看到这个并且他们去提交表格,验证人向他们抱怨它不是有效的数字格式。

这真让我们的销售人员担心,因为当他们去查看客户页面时,他们有时会看到它填写了他们自己的个人信息。

有没有办法阻止Firefox这样做?

7 个答案:

答案 0 :(得分:36)

将自动填充=“关闭”添加到您的表单标记中,如Mozilla文档中所述 How to Turn Off Form Autocompletion

<form name="form1" id="form1" method="post" autocomplete="off"
  action="http://www.example.com/form.cgi">
[...]
</form>

请阅读 exceptions and workarounds 上的部分 - 如果您在表单中有名称或地址字段,浏览器将忽略自动填充属性!

答案 1 :(得分:14)

如果您不关心验证,可以使用autocomplete =“off”

来自Mozilla的BTW here's a great article关于自动完成

答案 2 :(得分:2)

Firefox通常会根据字段名称进行自动填充,因此我觉得你可能会对你的字段被调用产生一些潜在的混淆。

答案 3 :(得分:2)

我在Firefox上遇到了同样的问题,表单上有一个&#39;用户名&#39;和密码&#39;领域。在这种情况下,autocomplete =&#34; off&#34;似乎不起作用,如下所述:https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion(页面底部)。

我发现正确知道在打开页面时使用空字段的唯一方法是在javascript中清空它们。 jQuery代码示例:

setTimeout(function(){
    $('input[name="username"],input[name="password"]').val("");
}, 0);

我知道它很难看(尤其是setTimeout,但我无法想象另一种方式。即使把它放在$(窗口).load()中似乎也无法工作。

答案 4 :(得分:1)

如果表单中的autocomplete="off"失败,请尝试直接在输入字段中使用autocomplete="off",然后按 Ctrl + F5

答案 5 :(得分:0)

尝试使用动态输入名称。

答案 6 :(得分:0)

实际上,几周之后我就注意到Firefox开始混合自动填充值,下拉列表甚至会显示来自不同站点的条目。他们可能在最近的版本中打破了一些东西现在,人们可以看到一些个人条目,只是要求检查电脑上的邮件。希望阻止此功能现在非常容易理解。