当前位置: 首页 > 知识库问答 >
问题:

禁用Chrome中的表单自动填充,而不禁用自动完成[重复]

段干华晖
2023-03-14

我们如何禁用Chrome的自动填充功能在某些

同时,我需要启用自动完成功能,这样用户仍然可以通过单击输入或键入来查看建议列表。这能做到吗?

编辑:如果您觉得有必要使用纯Javascript或jQuery,或者您觉得这会使您的解决方案更简单,那么可以随意使用纯Javascript或jQuery。


共有3个答案

夏侯朝斑
2023-03-14

修复:防止浏览器自动填充

 <input type="password" readonly onfocus="this.removeAttribute('readonly');"/>

更新:Mobile Safari在字段中设置光标,但不显示虚拟键盘。新的修复程序与以前一样工作,但可处理虚拟键盘:

<input id="email" readonly type="email" onfocus="if (this.hasAttribute('readonly')) {
    this.removeAttribute('readonly');
    // fix for mobile safari to show virtual keyboard
    this.blur();    this.focus();  }" />

现场演示https://jsfiddle.net/danielsuess/n0scguv6/

//更新结束

说明此代码段通过设置只读模式并更改为可写(如果用户聚焦于此输入字段(焦点包含鼠标单击和通过字段的制表符)来工作,而不是填充空白空间或加载窗口功能。

不需要jQuery,纯JavaScript。

丁阳炎
2023-03-14

有点晚了,但这里有一个我的傻瓜式解决方案,它对注册/注册页面这样的页面很有用,用户必须输入新密码。

<form method="post">
    <input type="text" name="fname" id="firstname" x-autocompletetype="given-name" autocomplete="on">
    <input type="text" name="lname" id="lastname" x-autocompletetype="family-name" autocomplete="on">
    <input type="text" name="email" id="email" x-autocompletetype="email" autocomplete="on">
    <input type="password" name="password" id="password_fake" class="hidden" autocomplete="off" style="display: none;">
    <input type="password" name="password" id="password" autocomplete="off">
</form>

Chrome将检测两个密码输入,并且不会自动填充密码字段。但是,字段id="password_fake"one将通过CSS隐藏。所以用户只能看到一个密码字段。

我还添加了一些额外的属性“x-autocompletetype”,这是chrome实验性的特定自动填充功能。根据我的例子,chrome将自动填写名字、姓氏和电子邮件地址,而不是密码字段。

裴成文
2023-03-14

以下是您想要的魔法:

    autocomplete="new-password"

Chrome有意忽略自动完成="off"自动完成="false"。但是,他们将new-ode作为特殊子句放入,以阻止自动填充新密码表单。

我把上面这一行放在我的密码输入中,现在我可以编辑表单中的其他字段,密码不会自动填充。

 类似资料:
  • 我在几个表单上遇到了chrome自动填充行为的问题。 表单中的字段都有非常常见和准确的名称,如“email”、“name”或“password”,它们还设置了。 autocomplete标志已成功禁用了autocomplete行为,在该行为中,当您开始键入时会显示下拉值,但没有更改Chrome将字段自动填充为的值。 这个行为是可以的,除非chrome不正确地填充输入,例如用电子邮件地址填充电话输入

  • 我刚把浏览器升级到Chrome 63.0版。3239.84(正式构建)(64位)。 然后我继续去我的网站,在那里我有一个输入框,但我仍然得到以下内容: (您可以在下面看到我的内置建议下拉列表) 这种情况过去从未发生过。其他一切都没有改变! 为什么会这样?这是新版chrome中的一个bug吗?我也尝试过所有其他建议,如或对表单应用autocomplete=off。我甚至尝试在页面加载后将这些应用于j

  • 我的表单中有两个字段,Chrome被错误地识别为信用卡号码(一个是电话号码,一个是传真号码)。也有两个字段的名字,Chrome认为是信用卡名称的字段,并希望自动填充。我可以在这些元素上使用一些属性来告诉Chrome它们实际上与信用卡无关吗? 我已尝试在输入上设置autocomplete=“false”。这删除了地址/联系信息的自动填充选项,但信用卡选项仍然存在。

  • 本文向大家介绍怎样禁止表单记住密码自动填充?相关面试题,主要包含被问及怎样禁止表单记住密码自动填充?时的应答技巧和注意事项,需要的朋友参考一下 一些浏览器并不align autocomplete, 可以额外 加一个透明的 password 和user name 的输入框。 那样你就会得到如下的 console 警告: [DOM] Multiple forms should be contained

  • 我正在使用Google Maps Javascript v3在HTML输入字段上设置自动完成,如下所示: http://imgur.com/Rm6X2FI.png-(带自动填充) 我遇到的问题是Chrome的自动填充像这样覆盖了地图自动完成: http://imgur.com/7a2QM7L.png-(带自动填充) 几个月前,我在网上找到了一个解决方案(参考:禁用Chrome自动填充),但是这个解

  • 问题内容: 我有一个HTML表单,其中使用了几个按钮。问题是,无论我单击哪个按钮,即使该按钮的类型不是“ submit”,也将提交表单。例如:之类的按钮,导致表单提交。 为这些按钮中的每个按钮执行一次操作是非常痛苦的。 我使用jQuery和jQuery UI,并且网站使用HTML5。 有没有办法禁用这种自动行为? 问题答案: 像按钮 是 提交按钮。 设置以改变它。是默认值(由HTML建议指定)。