今天體會到Jquery的可怕之處,以前只知道他極度方便,
可以活用selector來對許多element進行調整、設定,
甚至一些事件、css完全不用寫在html tag中,
現在發現這樣作法的後果就是...當你使用過多之後,
變得很難掌控程式的行為,
因為可能不清楚某些js(自己寫的或是用別人的)
會去bind的event,像是不知道為什麼會觸發某些事件,而且找不到觸發點...
...
...
...這樣是要怎樣debug啊?有些狀況可能連中斷點都不知道要設在哪邊。
看來使用JQuery中還是有很多學問的,沒有清楚的規劃架構、框架,
它可能便利反而造成更多問題,就像何金銀發現"拯救懦夫"只是一個騙錢的幌子一樣。
2011年8月4日 星期四
2011年6月23日 星期四
javascript 檢查輸入是否為英數字
在撰寫web系統有時需要限制欄位只能key 英文 或 數字,
而不給key中文,符號的可怕需求...
這邊提供從大學同學阿勇多年經驗的code...XD
========jsp中的input 欄位 兩個事件都要有============
//LimitInput('Num',false) 選擇只能輸入數字, 且不轉換成大寫(若為英文)
===============javascript==============
而不給key中文,符號的可怕需求...
這邊提供從大學同學阿勇多年經驗的code...XD
========jsp中的input 欄位 兩個事件都要有============
<input onkeydown="divChian();" onkeypress="LimitInput('Num',false);" type="”text”" />
//divChian() 擋中文//LimitInput('Num',false) 選擇只能輸入數字, 且不轉換成大寫(若為英文)
===============javascript==============
//擋中文
function divChian(){
var LOBJ_Lable = window.event;
if(LOBJ_Lable.keyCode == 229) //中文都會有299這個code
event.returnValue=false;
}
//LimitInput[參數,控制的物件,是否要轉大寫(true:要轉;false:不要轉)]
function LimitInput(LSTR_Type,LBOL_Chagecode){
var LOBJ_Lable = window.event;
//轉大寫;
if (LBOL_Chagecode==true){
if (LOBJ_Lable.keyCode >= 97 && LOBJ_Lable.keyCode<= 124){
LOBJ_Lable.keyCode-=32;
}
}
switch (LSTR_Type){
//只能輸入英數
case "NumEng":
if ( (LOBJ_Lable.keyCode >= 48 && LOBJ_Lable.keyCode<= 57)||
(LOBJ_Lable.keyCode >= 65 && LOBJ_Lable.keyCode<= 90)||
(LOBJ_Lable.keyCode >= 97 && LOBJ_Lable.keyCode<= 122)){
return LOBJ_Lable.keyCode;
}else{
return LOBJ_Lable.keyCode =0;
}
break;
case "Num":
if(LOBJ_Lable.keyCode < 48 || LOBJ_Lable.keyCode > 57){
LOBJ_Lable.keyCode = 0;
}
break;
case "NumDotMinus":
if ((LOBJ_Lable.keyCode >= 48 && LOBJ_Lable.keyCode<= 57)||
(LOBJ_Lable.keyCode == 45 || LOBJ_Lable.keyCode == 46)){
return LOBJ_Lable.keyCode;
}else{
return LOBJ_Lable.keyCode =0;
}
break;
}
}
訂閱:
文章 (Atom)