Hej!
Finns det något annat sätt än att använda ett reg.exp och RegularExpressionValidator för att endast tillåta tal (integer) i en textbox ?
4 svar · 267 visningar · startad av erka
Hej!
Finns det något annat sätt än att använda ett reg.exp och RegularExpressionValidator för att endast tillåta tal (integer) i en textbox ?
Nej, det tror jag inte, då får du nog göra något eget. Men vad är det för fel på regexpvalidatorn, det passar väl perfekt till just detta ändamål???
Ja jag bara undra, vill ju lära mig så mycket som möjligt :)
Jodå, det finns en variant!
Det är att man fångar event keyPress och kollar så den tangentman skrivit in är en siffra, så fall så låter man eventet gå igenom annars inte.
function CheckKeyCodeInt()
{
var sChar
var lMin
var lMax
sChar = "0";
lMin = sChar.charCodeAt(0)
sChar = "9";
lMax = sChar.charCodeAt(0)
if (event.keyCode < lMin || event.keyCode > lMax)
event.returnValue = 0;
event.cancelBubble = true;
}
Sedan lägger du till följande attribut i textboxen:
onkeypress="javascript: CheckKeyCodeInt();"
Det är ingen .NET lösning, men enligt mig ett utmärkt sätt att kolla, du får dessutom response direkt,eftersom inget skrivs ut i boxen om du trycker på någon annan tangent.
- M
Jodå, visst finns det alternativ, men då får man som sagt göra dem själv och ska du ha kontrollerna på klienten så är det javascript som gäller. Fördelen med expvalidatorn är ju att det fungerar även om klienten har javascript avslaget och att den alltid validerar på servern... också.
Vill du lära dig mer så gör du en egen asp.net-kontroll som kastar ut det här javascriptet. :) Att kunna göra egna kontroller är väldigt användbart...