Heim >php教程 >PHP开发 >So implementieren Sie das Formularformular, um das Formular automatisch durch Drücken der Eingabetaste abzusenden

So implementieren Sie das Formularformular, um das Formular automatisch durch Drücken der Eingabetaste abzusenden

高洛峰
高洛峰Original
2016-12-06 14:50:081903Durchsuche

1. Es gibt nur ein Eingabe-Tag im Formular und durch Drücken der Eingabetaste wird das Formular automatisch gesendet

Wenn es nur ein 0fe0d8cc27b3e240f2d4edd3a1de6288 im Formular Durch Drücken der Eingabetaste wird das Formular automatisch gesendet.

<form id=&#39;form1&#39; action=&#39;a1.jsp&#39; method=&#39;post&#39;>
<input type=&#39;text&#39; name=&#39;name&#39; />
</form>

Wenn Sie nicht möchten, dass es automatisch übermittelt wird, können Sie Folgendes tun:

Fügen Sie einen weiteren c0d8bbb5af2fa2b1acbce9a3fb664708Das Eingabefeld wird nicht angezeigt und nach Drücken der Eingabetaste nicht übermittelt:

<form id=&#39;form1&#39; action=&#39;a1.jsp&#39; method=&#39;post&#39;>
<input type=&#39;text&#39; name=&#39;name&#39; />
<input style=&#39;display:none&#39; />
</form>

( 2) Fügen Sie ein Onkeydown-Ereignis hinzu und drücken Sie dann die Eingabetaste. Es wird nicht angezeigt:

<form id=&#39;form1&#39; action=&#39;a1.jsp&#39; method=&#39;post&#39;>
<input type=&#39;text&#39; name=&#39;name&#39; onkeydown=&#39;if(event.keyCode==13) return false;&#39;/>
</form>

ps: Ich habe keine Ahnung über dieses Ereignis.keyCode==13 Ich verstehe, ich verstehe es nur als Beurteilungsbedingung, aber ich verstehe die Details immer noch nicht. Wenn Sie möchten, können Sie mich gerne aufklären Um ein Wagenrücklauf-Ereignis hinzuzufügen, können Sie im Onkeydown-Ereignis ein Urteilseinreichungsformular hinzufügen:

<form id=&#39;form1&#39; action=&#39;a1.jsp&#39; method=&#39;post&#39;>
<input style=&#39;display:none&#39; />
<input type=&#39;text&#39; name=&#39;name&#39; onkeydown=&#39;if(event.keyCode==13){gosubmit();}&#39; />
</form>

2. Bezüglich der Frage, ob eine automatische Übermittlung erforderlich ist

Manchmal möchten wir die Eingabetaste im Textfeld (Eingabeelement) drücken, um das Formular (Formular) abzusenden, aber manchmal möchten wir dies nicht. Für das Suchverhalten möchten Sie beispielsweise direkt die Eingabetaste drücken, nachdem Sie die Schlüsselwörter eingegeben haben, um das Formular sofort abzusenden. Bei einigen komplexen Formularen möchten Sie möglicherweise vermeiden, versehentlich die Eingabetaste zu drücken, um die Formularübermittlung auszulösen, bevor das Ausfüllen des Formulars abgeschlossen ist .

Um diese Verhaltensweisen zu kontrollieren, ist es nicht nötig, auf JS zurückzugreifen. Der Browser hat dies bereits für uns erledigt:

Wenn es eine Schaltfläche mit type=" gibt. „submit“ in das Formular eingeben, greift die Enter-Taste.

Wenn im Formular nur eine Eingabe mit type="text" vorhanden ist, wird unabhängig vom Schaltflächentyp die Eingabetaste wirksam.

Wenn es sich bei der Schaltfläche nicht um eine Eingabe, sondern um eine Schaltfläche handelt und kein Typ hinzugefügt wird, ist die Standardeinstellung type=button im IE und type=submit in FX.

Andere Formularelemente wie Textbereich und Auswahl sind nicht betroffen, und das Optionsfeld hat keinen Einfluss auf die Auslöseregeln, reagiert jedoch auf die Eingabetaste unter FX, nicht jedoch unter IE.

Die Eingabe mit type="image" hat den gleichen Effekt wie type="submit". Ich weiß nicht, warum die Verwendung von CSS besser geeignet ist Fügen Sie ein Hintergrundbild hinzu.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn