看板 Web_Design 關於我們 聯絡資訊
※ 引述《ificould (不求品質只求度過難關..)》之銘言: : ※ 引述《TKirby ( ^-^)》之銘言: : : 推 ificould:參考了 也試了很久了 還是沒效果 >"< 61.62.165.171 12/28 : : 怎麼會沒用勒?? : : 可能問題出在javascript以外的地方 : : 你到這個網址看看 : : http://www.csie.ntu.edu.tw/~b88039/archive/testCol/javascript/event/ : : 隨便按些鍵, : : 看看有沒有類似網頁右邊範例輸出的結果 : 貼上我的檔案好了... : function ChkKey(e) { : var eve = (e?e:event); : var code = (eve.charCode?eve.charCode:eve.keyCode); : if (code > 95 || code < 106) { : alert("只能輸入數字鍵"); : return false; : } : } : 我的js 是用外部載入的... : 下面這行是HTML表單內的輸入欄位 : 編號:<input type="text" name="no" onkeypress="return ChkKey()" /> ^^^^^^^^^^^^^^^ 這樣就不對了, 你以無參數的方式呼叫 ChkKey() 但是 ChkKey需要一個參數 e 改成 onkeypress="return ChkKey(event);" 試試看 如果再不行的話,就學我給的那個網址裡面的方式用javascript設handler 而不要寫在html裡面 很多人都缺乏一個觀念, 寫在 onkeypress 裡面的東西其實是anonymous function 也就是說其實 當這個 text input 有東西輸入的時候,會執行的函式其實是這個 function _沒有名字_(event) { /* 不同瀏覽器會不一樣 */ return ChkKey(); } 如果用javascript指定,像是 form1.no.onkeypress = ChkKey; 這樣當有東西輸入的時候執行的函式才真正是 ChkKey 大家可以試著做個實驗,把 onkeypress 裡的值印出來 例如 alert(form1.no.onkeypress); 在IE會是 function anonymous(){return ChkKey()} Firefox 則是function onkeypress(event) { return ChkKey(); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.67 ※ 編輯: TKirby 來自: 140.112.30.67 (12/28 19:28)
ificould:加上event 可以了耶.. 謝謝你喔 (茶) 61.62.28.226 12/29