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