views:

4748

answers:

1
function onlyNumeric() {   
    if (event.keyCode < 48 || event.keyCode > 57) {
        event.returnValue = false; 
    }

}

onkeypress=onlyNumneric();

In IE, this code is working fine. However, in Mozilla Firefox, the event is an undefined error.

+9  A: 

In FF/Mozilla the event is passed to your event handler as a parameter. Use something like the following to get around the missing event argument in IE.

 function onlyNumeric(e)
 {
     if (!e) {
        e = window.event;
     }

     ...
 }

You'll find that there are some other differences between the two as well. This link has some information on how to detect which key is pressed in a cross-browser way.

tvanfosson
Age old problem.. age old solution... Wonder when we'll get over the Browser wars! ;-)
Cerebrus