微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 如何通过代码有选择地禁用浏览器文本输入中的自动填充?

是否可以使用代码选择性地禁用文本字段中的自动填充功能

我正在ASP.Net AJAX中开发我的自定义代码搜索数据库中的建议,并且我想阻止在用户开始在文本框中键入时出现浏览器建议。

我正在寻找适用于最现代浏览器(IE 7& 8,Firefox,Safari和Chrome)的解决方案。如果解决方法是在Javascript中,那就没关系。

解决方法

查看自动完成HTML属性(在表单或输入标记上)。
<form [...] autocomplete="off"> [...] </form>

W3C > Autocomplete attribute

编辑:

如今 – 从评论中 – 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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐