Heim > php教程 > PHP开发 > Hauptteil

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

高洛峰
Freigeben: 2016-12-06 14:50:08
Original
1894 Leute haben es durchsucht

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

Wenn es nur ein 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>
Nach dem Login kopieren

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

Fügen Sie einen weiteren

(1) Fügen Sie eine Das 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>
Nach dem Login kopieren

( 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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage