然而做為網站開發者來說, 並不希望什麼資料都記憶在用戶的電腦上(如銀行帳號和其它重要的帳號及密碼), 但是我們又不能要求用戶禁用自動完成的功能. 幸好IE5.0後為 INPUT type=password, INPUT type=text, FORM 等控件加入了一個 AUTOCOMPLETE的屬性,要禁止控件自動完成功能,只需把AUTOCOMPLETE設為off即可,如:
整個表單禁止自動完成
復制代碼 代碼如下:
<FORM method=post action="submit.asp" AUTOCOMPLETE="OFF">
禁止文本框自動完成
復制代碼 代碼如下:
<input type="text" name="creditcard" maxlength="16" AUTOCOMPLETE="OFF">
在腳本中禁止自動完成
復制代碼 代碼如下:
function init()
{
element.setAttribute("AutoComplete", "off");
}
另外,如果要禁止文本框使用輸入法,可以把在它的樣式中添加 ime-mode : disabled 即可,但是這樣並不能禁止輸入漢字,因為用戶還是可以通過復制粘貼輸入漢字的.如:
復制代碼 代碼如下:
<input type=text style="ime-mode: disabled ; ">
微軟的.NET PASSPORT 就是這樣實現的,但是因該還會有其它的方法,因為在YAHOO 和 GMAIL的實現方法就不一樣。
.NET中TextBox 控件有什麼新鮮內容?嗯!有個看似很小但卻常帶來困擾的小“改良”,就是“自動完成”(AutoComplete)。何謂自動完成呢?也就是 TextBox會記憶用戶曾經輸入過的文字,當下次再輸入時就會自動提示相關字詞,最常見的是用戶登錄網站時就會自動帶出帳號密碼。
這個功 能在最早被發明時大家覺得很方便很好用,但隨著信息安全意識的加強,這個功能有時不但不討人喜歡,反而有點令人厭惡,為什麼呢?現在無論是在家中、網吧還 是公司,多人共享一台計算機的機會很多,而也是由於TextBox的自動完成在作祟的緣故,他人要看你的E-mail甚至假借您的帳號登錄網頁並非難事, 只要在TextBox中選取你的帳號後,密碼通常會一並自動帶出。
關於這個惱人的問題,我接連被朋友問道該如何解決。在ASP.NET 2.0的TextBox控件內置的AutoCompleteType屬性可以輕易解決這個問題,只要將TextBox的AutoCompleteType 設置為“Disable”後,自動完成提示便完全不會出現了。