Asp.net

如何通過程式碼有選擇地禁用瀏覽器文本輸入中的自動填充?

  • December 18, 2009

是否可以使用程式碼選擇性地禁用文本欄位中的自動填充功能?

我正在 ASP.Net AJAX 中開發我的自定義程式碼以在數據庫中搜尋建議,並且我想防止在使用者開始在文本框中輸入時出現瀏覽器建議。

我正在尋找適用於最現代瀏覽器(IE 7 和 8、Firefox、Safari 和 Chrome)的解決方案。如果解決方法是在 Javascript 中,那沒關係。

查看自動完成 HTML 屬性(在表單或輸入標籤上)。

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

W3C > 自動完成屬性

編輯:

如今 - 從評論中 - 網路瀏覽器並不總是尊重自動完成標籤定義的行為。這種不尊重可能會被一些 JavaScript 程式碼包圍,但在使用它之前你應該考慮一下你想要做什麼。

首先,欄位將在頁面載入期間填充,並且只有在頁面載入後才會清空。使用者會質疑為什麼該欄位已被清空。

其次,這將重置其他網路瀏覽器機制,例如當您返回上一頁時自動填充欄位。

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>

引用自:https://stackoverflow.com/questions/1929486