我已经死了尝试各种组合来阻止浏览器(不仅是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>
答案 0 :(得分:1)
我发现Chrome只会自动填充第一个<input type="password">
和之前的<input>
。因此,解决方法是添加到<form>
的顶部:
<input style="display:none">
<input type="password" style="display:none">
取决于Chrome版本。适用于Chrome 47