Reputation: 931
This is my code for making textbox accept number only.
<asp:TextBox ID="txtRotationNo" runat="server" onkeydown="return NumberOnly();" CssClass="textbox"></asp:TextBox>
function NumberOnly () {
if(!(event.keyCode>=48 && event.keyCode<=57) && event.keyCode!=8) {
event.returnValue=null;
}
}
This code is working in Chrome and Opera, but not in firefox.
Can you tell me what's wrong with this code?
Upvotes: 4
Views: 1844
Reputation: 3746
find the list of javascript validation function here,quite handy during development.
Thanks,
Ashish Chotalia
Upvotes: 0
Reputation: 11374
On the contrary to IE, 'event' is not a global variable in Firefox. So you've got to pass the desired pressed key informations as an argument.
Upvotes: 0
Reputation: 81384
Many things wrong with the code, including the lack of an event argument, plus the wrong way about cancelling the event. Here, just replace the code with this:
function NumberOnly(e) {
e = e || window.event; // remove this if you don't need IE support
if (!(e.keyCode >= 48 && e.keyCode <= 57) && e.keyCode != 8)
e.preventDefault(); // standard method of cancelling event
return false; // IE method of cancelling event
}
Upvotes: 8
Reputation: 9377
Firefox needs the event within the call of the handler and it needs to return "false" to ignore an action. This code might work:
function NumberOnly(event) {
if(!(event.keyCode>=48 && event.keyCode<=57) && event.keyCode!=8) {
event.returnValue=null;
return false;
}
}
But I think you can skip the event.returnValue=null;
Upvotes: 0