Wenn die automatische Übermittlung erfolgt, gibt es zwei Möglichkeiten:
Die erste besteht darin, Javascript-Code zu schreiben. Wenn der Benutzer auf die Eingabetaste klickt, wird die Übermittlung des Formulars über den js-Ereignisüberwachungsmechanismus ausgelöst.
Die zweite besteht darin, das Standardverhalten des Browsers auszunutzen (zumindest habe ich das gefunden). Browser weisen beim Parsen von Webseiten viele Standardverhalten auf. Wenn beispielsweise eine Seite ein Formular und eine Senden-Schaltfläche enthält, wird der Fokus beim Öffnen der Seite automatisch auf die Senden-Schaltfläche gelegt. Wenn in einem Formular nur ein einzeiliges Texteingabefeld (Text) vorhanden ist, sendet der Browser das Formular automatisch ab, wenn in diesem Eingabefeld die Eingabetaste gedrückt wird.
Die erste Situation ist uns im Allgemeinen bekannt und sie ist leicht zu verstehen, aber was das Standardverhalten des zweiten Browsers betrifft, wissen dies möglicherweise weniger Leute. Lassen Sie mich einen detaillierten Blick auf den Browser werfen (zumindest für den IE). Standardverhalten bei der Formularübermittlung.
Wenn das Formular ein einzeiliges Texteingabefeld enthält, wird das Formular unabhängig davon, wie viele andere Arten von Formularkomponenten es enthält, automatisch gesendet, wenn im Eingabefeld auf die Eingabetaste geklickt wird.
Zum Beispiel der folgende Code:
<form action="" method="post"> <input type="text" name="sdfsdf"/> <input type="checkbox">sdfsdf <input type="hidden"name="aa"/></form>
Wenn das Formular zwei oder mehr einzeilige Texteingabefelder enthält, wird es unabhängig davon, ob es andere Arten von Formularkomponenten enthält, nicht automatisch gesendet, wenn die Eingabetaste gedrückt wird, zum Beispiel:
<form action="" method="post" <input type="text" name="sdfsdf"/ <input type="text" name="sddf"/</form
Die Methode ist sehr einfach. Fügen Sie einfach ein weiteres Texteingabefeld hinzu. Sie können sagen, dass Sie ein nutzloses Eingabefeld hinzufügen müssen Werden zwei Eingabefelder für Endbenutzer akzeptabel sein? Tatsächlich kann es gelöst werden, indem Sie das neu hinzugefügte Eingabefeld ausblenden, zum Beispiel:
<form action="" method="post" <input type="text" name="notautosubmit" style="display:none"/ <input type="text" name="username"/</form
Es gibt auch eine Methode zum Binden des Triggerereignisses „Schaltfläche eingeben“:
document.onkeypress = function(){
if(event.keyCode == 13) {search();returnfalse;}} wobei die Suchmethode das Onclick-Ereignis ist: