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
  • 44,943
  • 87
  • 252
  • 365

2 Answers2

4

Missing evt in function parameter:

$('input[name=Qty]').keyup(function(evt) {
                                     ^
Sarfraz
  • 367,681
  • 72
  • 526
  • 573
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
  • 44,943
  • 87
  • 252
  • 365