IE提供了一個自動完成功能可以記憶我們的輸入內(nèi)容(如帳號等),方便下一次快速地錄入類似資料.這確實是一個非常友好的功能, 在操作時只需用鼠標雙擊文本框或輸入前幾個字符, 系統(tǒng)會自動列出以前的錄入歷史供你選擇, 大大提高錄入速度及準確性.
然而做為網(wǎng)站開發(fā)者來說, 并不希望什么資料都記憶在用戶的電腦上(如銀行帳號和其它重要的帳號及密碼), 但是我們又不能要求用戶禁用自動完成的功能. 幸好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 就是這樣實現(xiàn)的,但是因該還會有其它的方法,因為在YAHOO 和 GMAIL的實現(xiàn)方法就不一樣。
.NET中TextBox 控件有什么新鮮內(nèi)容?嗯!有個看似很小但卻常帶來困擾的小“改良”,就是“自動完成”(AutoComplete)。何謂自動完成呢?也就是 TextBox會記憶用戶曾經(jīng)輸入過的文字,當下次再輸入時就會自動提示相關字詞,最常見的是用戶登錄網(wǎng)站時就會自動帶出帳號密碼。
這個功 能在最早被發(fā)明時大家覺得很方便很好用,但隨著信息安全意識的加強,這個功能有時不但不討人喜歡,反而有點令人厭惡,為什么呢?現(xiàn)在無論是在家中、網(wǎng)吧還 是公司,多人共享一臺計算機的機會很多,而也是由于TextBox的自動完成在作祟的緣故,他人要看你的E-mail甚至假借您的帳號登錄網(wǎng)頁并非難事, 只要在TextBox中選取你的帳號后,密碼通常會一并自動帶出。
關于這個惱人的問題,我接連被朋友問道該如何解決。在ASP.NET 2.0的TextBox控件內(nèi)置的AutoCompleteType屬性可以輕易解決這個問題,只要將TextBox的AutoCompleteType 設置為“Disable”后,自動完成提示便完全不會出現(xiàn)了。
更多信息請查看IT技術專欄