小编典典

当输入类型为密码并使其上方的输入字段启用自动完成功能时,autocomplete ='off'不起作用

html

我有一个禁用自动完成功能的表单,但是它无法正常工作,并且使自动完成功能在Firefox和更高版本的chrome中启用

<form method="post" autocomplete="off" action="">
    <ul class="field-set">
    <li>
        <label>Username:</label>
        <input type="text" name="acct" id="username" maxlength="100" size="20">
    </li>
    <li>
        <label>Password:</label>
        <input type="password" name="pswd" id="password" maxlength="16" size="20" >
    </li>
    <li>
        <input type="submit" class="button" value="Login" id="Login" name="Login">
    </li>
    </ul>
</form>

当类型从密码更改为文本时,它可以在所有浏览器中使用。谁能帮助解决这个问题?


阅读 622

收藏
2020-05-10

共1个答案

小编典典

浏览器通常具有两个与表单相关但又不同的功能:

  • 表单自动完成,<input type="text">类型(和类似类型)的项目收集键入的值并以下拉列表的形式提供给他们。
    (这是一个简单的功能,效果很好。)

  • 密码管理器,当浏览器检测到您已提交登录表单时,浏览器会提示您记住用户名/密码组合。返回站点时,大多数浏览器会在下拉框中显示可用的用户名(Firefox,Chrome,Internet Explorer …),但有些浏览器具有工具栏按钮(Opera)。此外,Chrome会以硬编码黄色突出显示字段。
    (这取决于启发式方法,在某些页面上可能会失败。)

有一个边缘案例,表单标记为autocomplete="off"。如果这是一个登录表单,并且用户先前已经存储了用户名/密码,将会发生什么?实际上,从本地数据库中
删除
密码似乎是不合适的,因此可能没有浏览器可以这样做。(实际上,表单自动完成的数据也不会删除。)Firefox决定为用户提供权限:您有密码,所以我让您使用它。Chrome决定为网站供电。

2020-05-10