[thelist] Why does this JS code work the way it does???
Anthony Baratta
anthony at baratta.com
Mon Dec 11 12:52:51 CST 2006
Howdy...
Normally I can tear into a piece of code and figure out what it's doing. But I can't quite see why this JS function is working exactly the way it does. Here's the function, my comments follow:
function CheckNumericKeyStroke()
{
var strValidKeys = "1234567890";
if (strValidKeys.indexOf(String.fromCharCode(event.keyCode)) == -1)
return false;
else
return true;
}
Here's how it's put in use:
<input type="text" class="frmInputText2" style="width: 55px"
id="FooElement"
onkeypress="return CheckNumericKeyStroke();">
NOTE: I'm working with an IE only environment.
Now, here's what I don't understand - why do the backspace and delete keys work in the above text input element? They should comeback with "false" and not "fire". But they do. Why? IE quirk?
When I isolate the key code part "String.fromCharCode(event.keyCode)", and send the result as an alert to the browser on the onkeypress event - both backsapce and delete do not fire on that event. Is this by standards design?
Any pointers on this behaviour is appreciated.
More information about the thelist
mailing list