2016-08-15 4 views
1

Es ist eine Seite für Handheld-Scanner-Website (PocketPC), so für die einfache Handhabung des Geräts, wenn Nummer 1 in der Tastatur gedrückt wird, wird unten 1 eingereicht. Ich weiß nicht, warum es nicht für mich funktioniert.Taste drücken, um Formular zu senden

function check1(e) { 
 
    if (e.KeyCode == 49) { 
 
    document.forms[0].submit(); 
 
    } 
 
}
<form id="form1" name="form1" method="post" action="test.php"> 
 
    <input type="submit" name="button" id="button" value="Submit" onkeypress="check1(event)" /> 
 
</form>

Dank

+0

Schwer zu helfen, mit so wenig Details. Was bedeutet "nicht funktionieren"? Ein [Plocker] (https://plnr.co/), der den Fehler reproduziert, würde helfen, – Tdy

+0

@Tdy fertig zu machen. eine Bearbeitung im Auftrag des OP vorgenommen. – Iceman

Antwort

1

Sie müssen Ereignis auf das gesamte Dokument befestigen und nicht nur, dass <input> in diesem Fall. Dies liegt daran, dass Sie das Aktionsereignis auslösen möchten, wenn <input> nicht im Fokus ist. Sie aktivieren den Code nur, wenn er im Fokus ist.

ich die Änderung vorgenommen haben:

EINEN BLICK AUF DIE SNIPPET HABEN:

document.addEventListener("keypress", function(event) { 
 
    var keycode = (event.keyCode ? event.keyCode : event.which); 
 
    if (keycode == '49') { 
 
    document.forms[0].submit(); 
 
    } 
 
});
<form id="form1" name="form1" method="post" action="test.php"> 
 
    <input type="submit" name="button" id="button" value="Submit"/> 
 
</form>

+0

genehmigt ur bearbeiten. ja "kein Bedarf mehr für' onkeypress' ". – Iceman

0

Das onkeypress Ereignis auf dem gesamten Dokument ausgelöst wird, nicht Ihre Eingabe-Taste. So müssen Sie Ihre Event-Handler setzen wie so:

var form1 = document.getElementById('form1'); 
document.addEventListener('keypress', function (e) { 
    if (e.keyCode === 49) { // note camel casing: keyCode, not KeyCode 
     form1.submit(); 
    } 
}); 
+0

Es funktioniert nicht für mich, nichts passiert, wenn Taste 1 gedrückt wird. Aber wenn ich den keyCode auf 13 (Enter-Taste) ändern, funktioniert es. – Fares

0

Es funktioniert:

$(function(){ 
    $('*').keyup(function(e){ 
     if(e.keyCode=='49'){ 
     document.forms[0].submit(); 
     }  
    }) 
}) 
0

A jQuery Approach

$(document).on('keypress',function(e){ 
if(e.keyCode === 49){ 
    $('#form1').submit(); 
} 
}) 
Verwandte Themen