2016-06-20 8 views
0

Ich habe eine Plus/Minus-Taste, wo Sie nur numerische Werte in das Eingabefeld einstecken können oder klicken Sie auf die Plus/Minus-Taste, um einen Wert auszuwählen. Wenn Sie gehen, klicken Sie in das Textfeld und versuchen Sie, die Nummer zu löschen oder rückgängig zu machen, die nicht funktioniert. Hier ist die HTML und ein Link zu meiner Geige. Update: Der Löschschlüssel funktioniert in Chrome, aber nicht in Firefox. https://jsfiddle.net/714dxayk/5/Löschen von Text im Eingabefeld funktioniert nicht

<span class="form-title">Quantity</span> 
<form id='myform' method='POST' action='#' class="numbo"> 
<input type='button' value='-' class='qtyminus' field='quantity' style="font-weight: bold; font-size:18px;" /> 
<input type='text' name='quantity' value='1' class='qty' style="margin-bottom: 0px !important" onkeypress='return event.charCode >= 48 && event.charCode <= 57'/> 
<input type='button' value='+' class='qtyplus' field='quantity' style="font-weight: bold; font-size:18px;" /> 
</form> 
+0

Ich sehe kein Skript dort, wie können Sie sagen, dass es nicht funktioniert? –

+0

Ich habe das Javascript nicht eingefügt, weil es nicht das Problem ist, das ich versuche zu beheben. – sizemattic

+0

Ich habe meine Geige mit dem Javascript bearbeitet, wenn das irgendwas hilft. – sizemattic

Antwort

0

Versuchen Sie, einen keypress Handler in das Eingabefeld zuweisen. Lassen Sie im Browser bestimmte Tasten drücken und andere Tastendrücke ignorieren:

$('.qty').keypress(function(ev){ 
    // Don't ignore numbers. 
    if (ev.charCode >= 48 && ev.charCode <= 57) { 
     return; 
    } 

    // Don't ignore BS, DEL, and arrow keys. 
    switch (ev.keyCode) { 
     case 8: // backspace 
     case 46: // delete key 
     case 37: // arrows 
     case 38: 
     case 39: 
     case 40: 
      return; 
    } 

    // Ignore the rest of the keys. 
    ev.preventDefault(); 
}); 
Verwandte Themen