our notes for our youngers

March 18, 2010

Formatted TextBox

Filed under: ASP.NET, Javascript — sevenlamp @ 4:52 PM

Formatted TextBox

ဒီေန႔ ရံုးမွာ program ေရးေနရင္းနဲ႔ entry form မွာ သံုးမယ့္ textbox တခ်ိဳဳ႕မွာ ကိုယ္လိုခ်င္တဲ႔ charactor ကိုပဲ ေရြးၿပီး ရိုက္ခြင့္ျပဳခ်င္တယ္။ ခြင့္မျပဳတဲ႔ charactor ေတြကို ရိုက္ရင္ ဘာမွ မေပၚေစခ်င္ဘူး။ အဲ့ဒီလို လုပ္ဖို႔ လိုလာတယ္။ ဥပမာဗ်ာ…. textbox ထဲမွာ ‘#’, ‘?’, ‘*’ only ပဲ ရိုက္ခြင့္ျပဳခ်င္တယ္ေပါ့။ အရင္တုန္းက project အေဟာင္းမွာေတာ့ numeric only ပဲရိုက္လို႔ရတဲ႔ textbox မ်ိဳးလုပ္ထားတာ ရွိတယ္။ အဲ့ဒီမွာ လုပ္တုန္းက htc file ကို သံုးၿပီးလုပ္ထားတာ။ htc က Firefox မွာ support မလုပ္ဘူး။ ဒါေၾကာင့္ အခုတစ္ေခါက္ေတာ့ ရို္းရိုး javascript နဲ႔ပဲ ထိန္းဖို႔ လုပ္လိုက္တယ္။ ဒါနဲ႔ Google အားကိုးလို႔ Internet ထဲမွာ ရွာေဖြဖတ္ရႈၿပီး ေရးလုိက္ပါတယ္။ browser အားလံုး support လုပ္ေအာင္ ေရးရတာလည္း နည္းနည္းေတာ့ လုပ္ေပါက္ကပ္သား။

function numericTextBox(e) {

e = e || window.event;

var key = e.which || e.keyCode;

if ((!e.shiftKey && (key > 47 && key < 58)) || key == 8 || key == 46 || key == 35 || key == 36 || key == 37 || key == 39) {

return true;

} else {

if (e.preventDefault) e.preventDefault();

e.returnValue = false;

return false;

}

}

function FormatedTextBox(e) {

e = e || window.event;

var key = e.which || e.keyCode;

if ((e.shiftKey && (key == 56 || key == 51 || key == 52)) || key == 8 || key == 46 || key == 35 || key == 36 || key == 37 || key == 39) {

return true;

} else {

if (e.preventDefault) e.preventDefault();

e.returnValue = false;

return false;

}

}

aspx code

<asp:TextBox runat=”server” Width=”200px” onkeydown=”return FormatedTextBox(event)“></asp:TextBox>

<asp:TextBox runat=”server” Width=”200px” onkeydown=”return numericTextBox(event)></asp:TextBox>

Javascript မွာ key code number ေတြကို အေသးစိတ္သိခ်င္ရင္ ဒီ(http://unixpapa.com/js/key.html) မွာ ၾကည့္လို႔ရပါတယ္။

Javascript event object အေၾကာင္းကိုေတာ့ ဒီ(http://www.exforsys.com/tutorials/javascript/javascript-event-object.html) ကေနၾကည့္လို႔ ရပါတယ္။

Theme: Silver is the New Black. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.