作者TKirby ( ^-^)
看板Web_Design
標題Re: Mozilla 是不是不支援javascript中event.keyC …
時間Tue Dec 28 19:27:04 2004
※ 引述《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)
1F:推 ificould:加上event 可以了耶.. 謝謝你喔 (茶) 61.62.28.226 12/29