禁止 input 自动填充

在编写 Form 表单样式的时候,修改自动填充后的 input 样式是很麻烦甚至不可行的,而且还有一些不需要自动填充的场景。

浏览器根据保存数据时表单控件的 typename 去匹配。

常用的就是 typepasswordnameemalusernamepasswordtelephone 等,甚至不设置 name

浏览器会在表单加载时候匹配到之前保存的表单空间,然后将保存在客户端的信息自动填充它,额外的数据可能会填充到相邻的表单控件中。

可以通过设置 autocompleteoff 关闭自动填充功能。

input 的 autocomplete 表示这个控件的值是否可被浏览器自动填充,设置为 off 表示用户必须手动填值,或者该页面提供了自己的自动补全方法。浏览器不对此字段自动填充。。

但是,当表单控件获取焦点时,浏览器仍会显示自动填充提示(选项框)。

而且实际情况下 typepassword 的表单控件即便设置了 autocomplete="off" 也不能有效禁止自动填充(大部分下不起作用)。

幸运的是将 autocomplete 设置为 new-password 可以成功禁止,它表示新密码(如创建帐号或更改密码时使用)。

参考的是163邮箱:

在这里插入图片描述
而它的兼容性也不错:
在这里插入图片描述

MDN autocomplete 介绍

方案总结

要想禁止表单控件的自动填充功能,可以给这个 input 添加 autocomplete="new-password" 的属性,一个表单中如果存在多个 type="password" 只需给其中一个(无论哪一个)设置这个属性即可全部禁止。

设置 new-password 也可以禁止浏览器弹出自动填充提示,包括 type="password" 以外的控件。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值