Asp.Net 之 禁用TextBox的記憶功能

來源:互聯網
上載者:User

標籤:微軟   class   orm   網站開發   .net   element   內容   2.0   漢字   

  IE提供了一個自動完成功能可以記憶我們的輸入內容(如登入帳號等),方便下一次快速地錄入類似資料。這確實是一個非常友好的功能,在操作時只需用滑鼠雙擊文字框或輸入前幾個字元,系統會自動列出以前的錄入曆史供你選擇,大大提高錄入速度及準確性。相信大多數IE的使用者都啟用了這項功能。

  然而作為網站開發人員來說,並不希望什麼資料都記憶在使用者的電腦上(如銀行帳號和其它重要的帳號及密碼),但是我們又不能要求使用者禁用自動完成的功能。幸好IE5.0後為 INPUT type=password, INPUT type=text, FORM 等控制項加入了一個 AUTOCOMPLETE 的屬性,要禁止控制項自動完成功能,只需把AUTOCOMPLETE設為off即可,如:

  A 整個表單禁止自動完成

<FORM method=post action="submit.asp" AUTOCOMPLETE="OFF">  

  B 禁止文字框自動完成

<input type="text" name="creditcard" maxlength="16" AUTOCOMPLETE="OFF">

  C 在指令碼中禁止自動完成

function init(){ element.setAttribute("AutoComplete", "off");}  

  D 如果要禁止文字框使用IME,可以把在它的樣式中添加 ime-mode : disabled 即可,但是這樣並不能禁止輸入漢字,因為使用者還是可

以通過複製粘貼輸入漢字的,如:

<input type=text style="ime-mode: disabled ; " mce_style="ime-mode: disabled ; "> 

  微軟的.NET PASSPORT 就是這樣實現的,但是因該還會有其它的方法,因為在YAHOO 和 GMAIL的實現方法就不一樣。

   TextBox控制項有個看似很小但卻常帶來困擾的小“改良”,就是“自動完成”(AutoComplete)。何謂自動完成呢?也就是TextBox會記憶使用者曾經輸入過的文字,當下次再輸入時就會自動提示相關字詞,最常見的是使用者登入網站時就會自動帶出帳號密碼。

  這個功能在最早被發明時大家覺得很方便很好用,但隨著資訊安全意識的加強,這個功能有時不但不討人喜歡,反而有點令人厭惡,現在無論是在家中、網吧還是公司,多人共用一台電腦的機會很多,而也是由於TextBox的自動完成在作祟的緣故,他人要看你的E-mail甚至假借您的帳號登入網頁並非難事,只要在TextBox中選取你的帳號後,密碼通常會一併自動帶出。

  如何解決呢,在ASP.NET 2.0的TextBox控制項內建的 AutoCompleteType 屬性可以輕易解決這個問題,只要將TextBox的AutoCompleteType設定為“Disable”後,自動完成提示便完全不會出現了。  

 

Asp.Net 之 禁用TextBox的記憶功能

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.