无法停用自动填充功能

时间:2017-01-30 12:12:54

标签: html autocomplete

我已经死了尝试各种组合来阻止浏览器(不仅是Chrome,还有Mozilla)免受恼人的自动完成,但仍然没有成功。我现在拥有的:

<form id = 'user_form' autocomplete="off" role="form">
     <input name="hidden" type="text" style="display:none;">
     <div class="form-group">
        <div class="col-sm-6 col-sm-offset-3">
            <input autocomplete="off" class="form-control input-sm" id="id_username" 
                   maxlength="30" name="username" 
                   placeholder="Имя пользователя" required="" type="text" />
        </div>
    </div>
</form>

我没有发布任何JSFiddle,因为这对这个问题毫无帮助。我也尝试false代替off。但再没有成功。

更新

按照以下建议,我修改了代码以包含隐藏密码输入,而在Firefox中它现在就可以了。但在Chrome中,自动填充仍可用于真正的密码输入。

我的代码是:

<form id = 'user_form' autocomplete="off" role="form">
   <input style="display:none"/>
   <input type="password" style="display:none"/>
   <div class="form-group">
      <div class="col-sm-8 col-sm-offset-2">
         <div class = 'zeon_non_field_error_wrap'>
         </div>
      </div>
   </div>
   <div class="form-group">
      <div class="col-sm-6 col-sm-offset-3">
         <input autocomplete="off" class="form-control input-sm" id="id_username" maxlength="30" name="username" placeholder="Имя пользователя" required="" type="text" />
      </div>
   </div>
   <div class="form-group">
      <div class="col-sm-6 col-sm-offset-3">
         <input autocomplete="off" class="form-control input-sm" id="id_password" maxlength="128" name="password" placeholder="Пароль" required="" type="password" />
      </div>
   </div>
</form>

1 个答案:

答案 0 :(得分:1)

我发现Chrome只会自动填充第一个<input type="password">和之前的<input>。因此,解决方法是添加到<form>的顶部:

<input style="display:none">
<input type="password" style="display:none">

取决于Chrome版本。适用于Chrome 47