有没有可能在不禁用自动完成的情况下禁用火狐的自动填充功能?
我知道我能做到:
autocomplete="off"
但我不想禁用自动完成功能,只想禁用自动填充功能。
Firefox正在填充我们的一些隐藏字段,这些字段应该是空的
当用户刷新页面时,这主要是一个问题。表单字段将使用刷新前的值重新填充。这是一个问题的一个例子是老式的占位符。在这里我们用值填充字段,并在提交时删除它。值在刷新时被重新填充,我们不知道它是占位符还是use值。
发布于 2011-07-09 04:20:34
如果问题是FF在用户刷新时填充字段,这实际上是Firefox的一个功能,它试图帮助用户在意外刷新的情况下,使他们不会丢失他们输入的任何内容。我不认为你可以用HTML覆盖它。您可以使用JavaScript在页面加载时清除/重置所有相关的表单值。如果表单上的form.reset()不起作用,则必须遍历表单元素并将其清除,如下所示:
for (i = 0; i < frm_elements.length; i++)
{
field_type = frm_elements[i].type.toLowerCase();
switch (field_type)
{
case "text":
case "password":
case "textarea":
case "hidden":
frm_elements[i].value = "";
break;
case "radio":
case "checkbox":
if (frm_elements[i].checked)
{
frm_elements[i].checked = false;
}
break;
case "select-one":
case "select-multi":
frm_elements[i].selectedIndex = -1;
break;
default:
break;
}
}
发布于 2016-08-24 03:55:21
在实际的用户名字段和实际的密码字段之间放置两个虚拟字段对我来说很有效,例如:
<input name = "Username" type="text" autocomplete="off">
<input name = "DummyUsername" type="text" style="display:none;">
<input name = "DummyPassword" type="password" style="display:none;">
<input name = "Password" type="password" autocomplete="new-password">
这阻止了用户名的自动填充和密码的自动填充。
新密码“autocomplete=-password”显然没有完全实现,但可以帮助某些浏览器。我怀疑它对FireFox有帮助,但它会在未来的版本中出现,以防该功能被更广泛地采用。
发布于 2011-06-27 10:02:11
火狐只支持表单上的autocomplete="off"
,而不是单独的元素(不像IE)。
另一种选择是将字段名称更改为奇怪的名称,如name="_u_sern_ame"
,以混淆任何字段识别系统,如果您想要禁用某人详细信息的自动填充。
https://stackoverflow.com/questions/6487970
复制相似问题