html 禁用谷歌浏览器表单自动填充

因遇到使用datalist标签的场景,结果datalist显示的数据集和谷歌自填填充的数据合并了,不符合要求,所以在网上找了几种方法都无效,最后自己研究出一个新的解决方法,供大家参考。

使用的谷歌浏览器版本为99.0.4844.51,上面的红框为我自己填充的数据,下面的红框为谷歌浏览器自动填充的数据,两种数据合并了,会给使用者混淆的感觉,以下为页面效果:

代码为 input 标签使用 datalist 的数据集,具体如下:

<input type="text" id="data" class="form-control" autocomplete="off" list="myData"/>
<datalist id="myData"></datalist>

使用了 autocomplete="off" ,但是无效,所以只能另寻其它方法,最终研究出一个新的解决方法。

还是上面的例子,autocomplete="off" 依旧保留,为input标签添加只读属性 readonly="readonly",如下:

<input type="text" id="data" class="form-control" autocomplete="off" readonly="readonly" list="myData"/>

 加好之后再定义一个定时任务,为 input 元素清除只读属性:

// 清除只读
    window.setTimeout(function () {
        $("#data").removeAttr("readonly");
    }, 200);

 具体执行时间自行定义,最终页面效果:

 这样就完成了禁止谷歌浏览器自动填充的问题了,虽然本示例为使用datalist的数据,不过也可以适用于纯 input 元素,虽然比较麻烦,不过还好解决了问题,希望能帮助到各位。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值