Hier stellen wir das Wissen über Formularelemente und Formularübermittlung vor. Das Formular-Element Die DOM-Schnittstelle des Formularelements ist
Eingabeelement Das Eingabeelement ist ein weit verbreitetes Formularelement. Abhängig vom Wert des Typattributs hat es die folgenden allgemeinen Verwendungszwecke: Texteingabe <input type="text" name=""> Radio Wie gruppieren? Einfach unterschiedliche Namensattribute festlegen Beispiel: <input type="radio" name="favourite" value="play games">Spiele spielen <input type="radio" name="sex" value="man">Männlich Platzhalter Bietet einen Hinweis, der den erwarteten Wert eines Eingabefelds beschreibt. Typ=versteckt Definiert einen versteckten Eingang. Ausgeblendete Felder sind für den Benutzer nicht sichtbar. Versteckte Felder speichern normalerweise einen Standardwert und ihr Wert kann auch durch JavaScript geändert werden. Schaltfläche „Senden“ Durch Hinzufügen einer Schaltfläche zum Senden zum Formular kann der Benutzer das Formular übermitteln. Die folgenden drei Schaltflächen können beim Anklicken das Übermittlungsereignis des Formulars auslösen: <Eingabetyp="Senden" /> <button type="senden"></button> <Eingabetyp="Bild" /> Der Standardwert für den Typ des Schaltflächenelements in der Spezifikation lautet „Senden“, der Standardwert in IE678 lautet jedoch „Button“. Aus Kompatibilitätsgründen muss dem Schaltflächenelement daher manuell das Attribut „type=‚submit‘“ hinzugefügt werden. Veranstaltung einreichen Anfänger denken vielleicht, dass das Absenden des Formulars durch das Klickereignis der Schaltfläche „Senden“ ausgelöst wird. Tatsächlich werden das Klickereignis des Schaltflächenelements und das Absendenereignis des Formulars in verschiedenen Browsern in unterschiedlicher Reihenfolge ausgeführt. Um das Absendenereignis des Formulars genau zu steuern, führen wir daher Überprüfungen und andere Vorgänge im Absendenereignis des Formulars durch. form.addEventListener('senden', Funktion (e) { wenn (gültig()) { ... } e.preventDefault() }) Wenn das Formularelement keine der drei oben genannten Schaltflächen hat, kann der Benutzer das Formular nicht absenden (die Eingabetaste ist ebenfalls ungültig). Zu diesem Zeitpunkt können Sie die für das Formularelement eindeutige Methode wenn (gültig()) { form.submit() } Formularübermittlung und Benutzererfahrung Basierend auf der beliebten Ajax+Cross-Domain-POST-Technologie (CORS) können wir das Formularelement nicht verwenden, um Daten direkt an den Server zu übermitteln. Dies ist zwar möglich, das Erlebnis wird jedoch in den meisten Fällen beeinträchtigt. JavaScript-Formularvalidierung Mithilfe von JavaScript können die Eingabedaten in HTML-Formularen validiert werden, bevor sie an den Server gesendet werden. Typische durch JavaScript validierte Formulardaten sind: Hat der Benutzer die erforderlichen Felder im Formular ausgefüllt? Mit der folgenden Funktion wird überprüft, ob der Benutzer die erforderlichen (oder obligatorischen) Elemente im Formular ausgefüllt hat. Wenn ein erforderliches Feld oder ein erforderliches Feld leer ist, wird ein Warnfeld angezeigt und der Rückgabewert der Funktion ist „false“, andernfalls ist der Rückgabewert der Funktion „true“ (was bedeutet, dass kein Problem mit den Daten vorliegt): Funktion validate_required(Feld, Alerttxt) { mit (Feld) { wenn (Wert==null||Wert=="") {alert(alerttxt);return false} sonst {return true} } } Hier ist der Code zusammen mit dem HTML-Formular: <html> <Kopf> <Skripttyp="text/javascript"> Funktion validate_required(Feld, Alerttxt) { mit (Feld) { wenn (Wert==null||Wert=="") {alert(alerttxt);return false} sonst {return true} } } Funktion validate_form(diesesFormular) { mit (dieser Form) { if (validate_required(email,"E-Mail muss ausgefüllt werden!")==false) {email.focus();return false} } } </Skript> </Kopf> <Text> <form action="submitpage.htm" onsubmit="return validate_form(this)" method="post"> E-Mail: <input type="text" name="email" size="30"> <input type="submit" value="Senden"> </form> </body> </html> E-Mail-Verifizierung Die folgende Funktion prüft, ob die Eingabedaten der grundlegenden Syntax einer E-Mail-Adresse entsprechen. Dies bedeutet, dass die Eingabedaten das @-Symbol und den Punkt (.) enthalten müssen. Außerdem darf @ nicht das erste Zeichen einer E-Mail-Adresse sein und nach @ muss mindestens ein Punkt stehen: Funktion validate_email(Feld, Alerttxt) { mit (Feld) { apos=Wert.indexOf("@") dotpos=Wert.letzterIndexVon(".") wenn (apos<1||dotpos-apos<2) {alert(alerttxt);return false} sonst {return true} } } Hier ist der vollständige Code zusammen mit dem HTML-Formular: <html> <Kopf> <Skripttyp="text/javascript"> Funktion validate_email(Feld, Alerttxt) { mit (Feld) { apos=Wert.indexOf("@") dotpos=Wert.letzterIndexVon(".") wenn (apos<1||dotpos-apos<2) {alert(alerttxt);return false} sonst {return true} } } Funktion validate_form(diesesFormular) { mit (dieser Form) { if (validate_email(email,"Keine gültige E-Mail-Adresse!")==false) {email.focus();return false} } } </Skript> </Kopf> <Text> <form action="submitpage.htm" onsubmit="return validate_form(this);" method="post"> E-Mail: <input type="text" name="email" size="30"> <input type="submit" value="Senden"> </form> </body> </html> Übermittlung per Tastenkombination Wenn kein Formularelement-Wrapper vorhanden ist, wird das Formular durch Drücken der Eingabetaste nicht gesendet, auch wenn der Fokus der aktuellen Seite auf dem Formularelement liegt. Benutzer müssen von der Tastatursteuerung auf die Maus-/Gestensteuerung umsteigen, wodurch die ursprüngliche Sprachverständlichkeit zerstört wird. Die einfachste Lösung besteht darin, es mit einem Formularelement auf der äußeren Ebene zu umschließen und sicherzustellen, dass im Formularelement mindestens eine Schaltfläche zum Senden vorhanden ist. Wenn zu diesem Zeitpunkt das Eingabefeld im Formular den Fokus erhält, drückt der Benutzer die Eingabetaste, um die Übermittlung auszulösen. Der Browser merkt sich das Kontopasswort Beim Absenden eines Formulars fragen fortgeschrittene Browser, einschließlich mobiler Browser, den Benutzer, ob er sich sein Benutzerkonto und sein Passwort merken muss. Für normale Benutzer ist dies eine sehr nützliche Funktion, insbesondere auf mobilen Geräten, die Benutzern viel Zeit sparen kann. Wenn kein Formularelement vorhanden ist, öffnet der Browser das Abfragefenster nicht. Zusammenfassen Wenn wir eine Formularanwendung entwickeln, sollten wir nicht versuchen, das Formularelement zu entfernen und direkt zu übermitteln. Das Formularelement sollte eine Übermittlungsschaltfläche enthalten. Wenn es sich um ein Schaltflächenelement handelt, sollte das Attribut type="submit" manuell hinzugefügt werden. Das Übermittlungsereignis wird im Übermittlungsereignis des Formularelements behandelt, nicht im Klickereignis der Übermittlungsschaltfläche. siehe: Formularelement und Formularübermittlung |
<<: 18 erstaunliche Verbindungen zwischen Interaktionsdesign und Psychologie
Inhaltsverzeichnis Vorwort brauchen erreichen Ers...
1. CSS-Elemente verbergen <br />In CSS gibt ...
[LeetCode] 181.Mitarbeiter verdienen mehr als ihr...
In diesem Artikelbeispiel wird der spezifische JS...
Vorwort Histogramme sind grundlegende statistisch...
Inhaltsverzeichnis Ereignisschleife miscroTask (M...
1. Nginx-Dienstgrundlage Nginx (Engine x) wurde s...
Inhaltsverzeichnis 1. charAt Grammatik Parameter ...
Machen Sie sich anhand von Beispielen mit der Bede...
Wirkung demo.html <html> <Kopf> <m...
Dieser Artikel stellt hauptsächlich ein Beispiel ...
In der Vergangenheit bedeutete das Erstellen eine...
Einführung in Vue Die aktuelle Ära der großen Fro...
1. px px ist die Abkürzung für Pixel, eine relati...
<br />Im gesamten Produktdesignprozess liege...