2010-08-27 5 views
1

J'essaie de créer un masque de saisie numérique simple sans avoir à inclure un plugin complet comme Digital Bush's masked input.Masque de saisie numérique jQuery

Voici le code que je suis « réorientés » d'une autre question stackoverflow:

$('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(); 
    } 
}); 

L'erreur est sur la première ligne, où il ne sait pas ce que EVT est.
Je pense que je dois utiliser $ (this) quelque chose.

Répondre

4

manquant evt dans le paramètre de la fonction:

$('input[name=Qty]').keyup(function(evt) { 
            ^
0

J'ai trouvé cela comme une alternative:

$('input[name=Qty]').bind('keyup blur',function(){ 
    var myValue = $(this).val(); 
    $(this).val(myValue.replace(/[^0-9]/g,'')); 
}); 
Questions connexes