大家好,很開心又可以到這裡寫點小心得了。
今晚,我想跟大家講講怎麼給文字框寫一個小驗證-------只能輸入數位文字框驗證。
我知道這個不算是什麼值得炫耀的知識,但是對於沒有接觸到這樣使用的同僚來講,這的確是一個可供學習的知識點。
好吧,進入今天的主題。
其實就是兩段代碼(^-^如果你完全沒有基礎的話,請與我聯絡,因為我也是個初學者,我也明白大家渴望跑起第一個執行個體的體會):
其一為指令碼:
<script type="text/javascript"><br /> function keyValue()<br /> {<br /> if (((event.keyCode>=48 && event.keyCode<=57)||(event.keyCode>=96 && event.keyCode<=105))|| (event.keyCode == 8) || (event.keyCode == 46) ) //判斷是否為數字,8退格鍵,46Delete鍵<br /> event.returnValue=true;<br /> else<br /> event.returnValue=false;<br /> }<br /> </script>
其二就是文字框上加上事件onkeydown
<asp:TextBox ID="TextBox1" runat="server" onkeydown="keyValue()"></asp:TextBox>
說來也奇怪,當你拖一個文字框到介面之後,無論你是以何種途徑都尋找不到有onkeydown事件的,但是你直接在裡面敲入onkeydown="keyValue()", 它又的的確確是產生作用了。其實這個onkeydown事件是在html裡的文字框裡的,但是我們在用服務端的文字框控制項時,它並不具有這個事件,但是問題是服務端的控制項最終還是會轉為html的標籤(至少我現在是這麼認為,因為我在運行那個aspx檔案後查看源檔案時,服務端的文字框是變成 <input name="TextBox1" type="text" id="TextBox1" onkeydown="keyValue()" />)
說真的,單論結果的話,大家可能都不覺得是有什麼難度的,但是又有誰知道第一段指令碼的代碼是需要花心思去解決的,因為一開始的數字按鍵是不包括小鍵盤的數字,而且我在看http://hi.baidu.com/anylzer/blog/item/ad7b3b0ebe1ecdcc7acbe129.html 這裡的ASCLL碼是尋找不到小鍵盤的ASCLL碼的,但是通過一些論壇的協助之後,終於找到一個很好的查看方法,就是把自己的銨鍵的ASCLL碼顯示出來,代碼可以用這個:
<script type="text/javascript<br /> function test(){<br /> alert(event.keyCode)<br /> }<br /></script>
其文字框的代碼如下:
<input type="text" onkeydown="test()"/>
然後運行程式,並在文字框裡用小鍵盤輸入數字,從0到9,可以看到輸出的值為96到105。
好了,今晚就寫到這裡吧,如果大家有問題可以拿來一起研究的話,請與我分享,謝謝!