[英]Clear textbox history in ASP.NET
如何清除文本框的歷史記錄? 我已設置 autocomplet=off 並將 AutoCompleteType 設置為 Disabled。 當我在 Chrome/Firefox 中雙擊文本框時會出現歷史記錄/文本,因此當我單擊它時,文本將插入文本框中。 有沒有辦法通過 ASP.NET/HTML 阻止這種行為?
您可以通過將 autocomplete 屬性值設置為 off 來關閉特定文本框的自動填充,如下所示:
<asp:TextBox Runat="server" ID="TextBox1" autocomplete="off"></asp:TextBox>
或
您可以在我的頁面(代碼隱藏)中的 Page_Prerender 事件中編寫一個文本框屬性。
protected void Page_PreRender(Object sender, EventArgs e) {
TextBox1.Attributes.Add(“autocomplete”, “off”)
}
它應該修復它。
你必須在你的表格上嘗試這一行
<form id="form2" runat="server" autocomplete="off">
如果關閉自動完成功能不起作用,請嘗試在每次將頁面加載到瀏覽器時change the textbox/input name (not the Id) to a random value
。
您可以在窗口加載時使用 javascript 來完成,如下所示:
window.onload = function () {
document.getElementById("yourTextboxId").name = "txt"+ Math.random();
}
我會嘗試這樣的事情
<asp:TextBox ID="TextBox1" AutoCompleteType="Disabled" runat="server"></asp:TextBox>
還有一個 TextMode="password" 如果它的機密內容也沒有保存自動完成我認為。
強文本在輸入和表單元素中測試autocomplete = "off"並且一無所獲閱讀這篇文章后,我對瀏覽器如何處理自動完成有了一個新的認識,所以我測試了建議,似乎這個建議有效:設置自動完成 =新密碼”如建議:
如果你正在定義一個用戶管理頁面,用戶可以在其中為另一個人指定一個新密碼,因此你想防止自動填寫密碼字段,你可以使用autocomplete="new-password" ; 但是,Firefox 尚未實現對這個值的支持。
盡管我將非密碼輸入元素設置為“新值”並且這也適用於文章中的另一個建議:
在某些情況下,即使自動完成屬性設置為關閉,瀏覽器也會繼續建議自動完成值。 對於開發人員來說,這種意外行為可能令人費解。 真正強制執行非自動完成的技巧是為屬性分配一個無效值,例如:
autocomplete="nope"由於此值對於 autocomplete 屬性無效,因此瀏覽器無法匹配它,並停止嘗試自動完成該字段。
希望這對各種場景有所幫助和有用。
<%: Html.TextBoxFor(model => model.WEIGHT, new { autocomplete = "off" })%>
正如另一個回答者所說,禁用文本框的 AutoCompleteType 屬性。
隱藏復制代碼
<asp:TextBox ID="TextBox1" runat="server" AutoCompleteType="Disabled"></asp:TextBox>
但這在 Mozilla Firefox 中不起作用。 最好的選擇是編寫一個 JavaScript onFocus 文本框來禁用自動完成行為。
隱藏復制代碼
Javascript:
Hide Copy Code
function disableautocompletion(id){
var passwordControl = document.getElementById(id);
passwordControl.setAttribute("autocomplete", "off");
}
希望這有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.