1

I'm trying to do a simple integer numeric input mask without having to include an entire plugin like Digital Bush's masked input.

Here's the code I've "repurposed" from another stackoverflow question:

$('input[name=Qty]').keyup(function() {
    var theEvent = evt || window.event;
    var key = theEvent.keyCode || theEvent.which;
    key = String.fromCharCode( key );
    var regex = '[0-9]'; /* Use |\. to include a decimal */
    if( !regex.test(key) ) {
     theEvent.returnValue = false;
     theEvent.preventDefault();
    }
});

The error is on the first line, where it doesn't know what evt is.
I think I need to use $(this) something.

Phillip Senn
  • 46,771
  • 90
  • 257
  • 373

2 Answers2

4

Missing evt in function parameter:

$('input[name=Qty]').keyup(function(evt) {
                                     ^
Sarfraz
  • 377,238
  • 77
  • 533
  • 578
0

I've found this as an alternative:

$('input[name=Qty]').bind('keyup blur',function(){ 
    var myValue = $(this).val();
    $(this).val( myValue.replace(/[^0-9]/g,'') );
});
Phillip Senn
  • 46,771
  • 90
  • 257
  • 373