【问题标题】:STOP Google Autofill/AutoComplete from ruining my form, Disable autofill on form阻止 Google 自动填充/自动完成破坏我的表单,禁用表单上的自动填充
【发布时间】:2018-08-31 02:21:51
【问题描述】:

我有一个带有输入字段的表单:

<input id="postalCode" placeholder="Postal Code* (A0A 0A0)" autocomplete="off">

我在这里使用了我自己的自定义自动完成功能,谷歌自动填充覆盖并破坏了我表单中的验证和用户体验。

我尝试将 id 更改为随机的 id="ASDf" 并且谷歌仍然通过验证或占位符推断字段类型。我已经尝试了 autocomplete="off" 和 "false"。也不做任何事。在此页面上:

https://www.canadapost.ca/cpotools/apps/fpc/personal/findAnAddress?execution=e1s1

他们以某种方式成功地禁用了它。

我已经尝试了此页面中的所有内容:

Disabling Chrome Autofill

没有任何效果。

【问题讨论】:

    标签: forms google-chrome autofill


    【解决方案1】:

    好的,这对我有用:

    role="presentation" autocomplete="nope" 
    

    在 Chrome 版本 64.0.3282.186(官方版本)(64 位)上测试。

    我必须将这两个都添加到每个有问题的输入中。我还添加了表单标签。对于这个特定版本的 Chrome,自动填充功能被禁用。我把它留在这里是因为这真的很痛苦,而且其他帖子中的所有前期解决方案都不起作用。

    【讨论】:

      【解决方案2】:

      解决方案:将“姓名”替换为您的#id。

        $('#Name').on('mouseup keyup', function () {
              var val = $('#Name').val();
              val = val.length;
              if (val === 0) {
                  $('#Name').attr('autocomplete', 'on');
              }
              else {
                  $('#Name').attr('autocomplete', 'new-password');
              }
          }).on('mousedown keydown', function () {
              var val = $('#Name').val();
              var length = val.length;
              if (!length) {
                  $('#Name').attr('autocomplete', 'new-password');
              }
          })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-28
        • 1970-01-01
        • 2015-09-30
        • 2011-10-22
        • 2018-11-28
        • 2014-06-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多