代码之家  ›  专栏  ›  技术社区  ›  user3378165

使用假字段禁用浏览器自动完成不起作用

  •  1
  • user3378165  · 技术社区  · 7 年前

    只有在用户从重置密码页面被重定向后,我才尝试禁用登录表单上的浏览器自动完成功能。

    我读了很多答案,但找不到对我有用的东西。

    我试着设置 autocomplete="off" 在表单标签上,在每个输入上,但它不起作用。

    我尝试按照许多人的建议添加隐藏字段,但只有当 我在假密码字段上设置了与真实密码字段相同的名称 -我当然不能做什么。

    这是我让它工作的唯一方法:

    <form id="login-form" method="post" action="/account/login">
        <!-- fake fields are a workaround for chrome autofill getting the wrong fields -->
        <input type="text" name="prevent_autofill" id="prevent_autofill" value="" style="display:none;" />
        <input type="password" name="password" id="password_fake" value="" style="display:none;" />
        <!-- ------- -->
        <div class="inputField resetPasswordLogin login">
            <input type="email" id="email" name="email" placeholder="USERNAME"/>
        </div>
        <div class="inputField resetPasswordLogin login">
            <input type="password" id="password" name="password" placeholder="PASSWORD"/>
            <input type="submit" class="hiddenSubmit" id="hiddenLogin"/>
        </div>
    </form>
    

    这种变通方法似乎可以在不必在密码字段中设置相同的名称的情况下工作,您知道是什么导致了这种行为吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   user3378165    7 年前

    这就是最终对我起作用的原因:

    <div style="height:0px; overflow:hidden; ">
      Username <input type="text" name="fake_username" >
      Password <input type="password" name="fake_password">
    </div>