如何关闭input表单自动填充input autocomplete

这本来是一个极简单的问题,

原input表单

<input type="text" name="address"/>

默认情况下,浏览器会记录用户网页上提交的输入框的信息。这使得浏览器能够提供自动补全(在用户开始输入的时候给用户提供可能的内容)和自动填充(在加载的时候预先填充某些字段)功能

有些时候我们不需要浏览器自动补全和自动填充,我们可以

<input type="text" name="address" autocomplete="off" />

加上autocomplete="off"属性就关闭自动完成

设置 autocomplete="off" 会有两种效果:

这会告诉浏览器,不要为了以后在类似表单上自动填充而保存用户输入的数据。但浏览器不一定遵守。
这会阻止浏览器缓存会话历史记录中的数据。若表单数据缓存于会话历史记录,用户提交表单后,再点击返回按钮返回之前的表单页面,则会显示用户之前输入的数据。
如果即使在 autocomplete 已经设置为 off 时,浏览器仍继续提供输入建议,那么你需要更改输入元素的 name 属性。

自动填充属性和登录
现代浏览器实现了内建的密码管理功能:当用户在一个网站上输入了用户名和密码,浏览器会为用户提供记忆功能。当用户再次访问这个网站时,浏览器使用保存的值自动填写登录字段。

另外,浏览器可让用户指定一个主密码用来加密存储的登录信息。

即使没有主密码,浏览器内置的密码管理对安全也有益无害。由于用户不需要记住已被浏览器存储的密码,因此他们可以放心选择更强的密码。

由于这个原因,许多现代浏览器都不支持在登录字段中设置 autocomplete="off" :

如果一个网站为表单设置了autocomplete="off",表单中包含用户名和密码字段,浏览器仍会为这次登录提供记忆功能,并且如果用户同意,用户在下一次访问网站时,浏览器会自动填写这些字段。
如果网站给用户名和密码的输入框设置了 autocomplete="off",浏览器仍会为这次登录提供记忆功能,并且如果用户同意,用户在下一次访问网站时,浏览器会自动填写这些字段。
这是 Firefox(38+)、Google Chrome(34+)、Internet Explorer(11+)上的表现

这个问题虽然简单,但在有些些场景下就会带来用户体验的困扰,优其在input在做为百度地图和高地图地址下拉选择时自带的complete和地图的下拉complete会有冲突,导致客户可能下拉的是浏览器提供的选项,而不是百度或高德接口返回的数据

这个错误开发者很难发现是浏览器搞的鬼

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

phpgolife

您的支持是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值