是否可以使用代码选择性地禁用文本字段中的自动填充功能?
我正在ASP.Net AJAX中开发我的自定义代码以搜索数据库中的建议,并且我想阻止在用户开始在文本框中键入时出现浏览器建议。
我正在寻找适用于最现代浏览器(IE 7& 8,Firefox,Safari和Chrome)的解决方案。如果解决方法是在Javascript中,那就没关系。
解决方法
查看自动完成HTML属性(在表单或输入标记上)。
<form [...] autocomplete="off"> [...] </form>
编辑:
如今 – 从评论中 – Web浏览器并不总是尊重自动完成标记定义的行为。这种不尊重可以用一些JavaScript代码包围,但是在使用它之前你应该考虑一下你想做什么。
首先,字段将在页面加载期间填充,并且只有在页面加载后才会清空。用户将质疑为什么该字段已被清空。
其次,这将重置其他Web浏览器机制,例如当您返回上一页时自动填充字段。
jQuery( function() { $("input[autocomplete=off]").val( "" ); } );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form method="post" action=""> <div class="form-group"> <label for="username">Username</label> <input type="text" id="username" name="username" value="John" autocomplete="off"> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" id="password" name="password" value="qwerty" autocomplete="off"> </div> <input type="submit" value="Login"> </form>