Warm tip: This article is reproduced from serverfault.com, please click

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

(asp.net - How to disable the autofill in browser text inputs selectively via code?)

发布于 2009-12-18 16:58:13

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

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

我正在寻找一种适用于大多数现代浏览器(IE 7和8,Firefox,Safari和Chrome)的解决方案。如果解决方法为Javascript,则可以。

Questioner
holiveira
Viewed
11
Julien Vaslet 2017-09-20 01:31:47

查看自动完成HTML属性(在表单或输入标签上)。

<form [...] autocomplete="off"> [...] </form>

W3C>自动完成属性

编辑:

如今-从评论中-网络浏览器并不总是尊重自动完成标记定义的行为。这种不尊重可能会被一些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>