Wie kann ich überprüfen, ob ein Benutzer etwas aus einem <select>
Feld in HTML5 ausgewählt hat?
Ich sehe, <select>
dass das neue required
Attribut nicht unterstützt wird ... muss ich dann JavaScript verwenden? Oder fehlt mir etwas? : /
javascript
html
select
required
Matt
quelle
quelle
selectedIndex
.Antworten:
Obligatorisch : Lassen Sie den ersten Wert leer - erforderlich funktioniert bei leeren Werten
Voraussetzungen : HTML5 DOCTYPE und ein benanntes Eingabefeld korrigieren
Gemäß der Dokumentation (die Auflistung und Fettdruck ist meine)
quelle
Das
<select>
Element unterstützt dasrequired
Attribut gemäß der Spezifikation:Welcher Browser berücksichtigt dies nicht?
(Natürlich müssen Sie auf dem Server trotzdem validieren, da Sie nicht garantieren können, dass Benutzer JavaScript aktiviert haben.)
quelle
Sie können das
selected
Attribut für das Optionselement verwenden, um standardmäßig eine Auswahl auszuwählen. Sie können dasrequired
Attribut für das Auswahlelement verwenden, um sicherzustellen, dass der Benutzer etwas auswählt.In Javascript können Sie die
selectedIndex
Eigenschaft überprüfen , um den Index der ausgewählten Option abzurufen, oder Sie können dievalue
Eigenschaft überprüfen , um den Wert der ausgewählten Option abzurufen.Gemäß der HTML5-Spezifikation gibt
selectedIndex
"den Index des ersten ausgewählten Elements zurück, falls vorhanden, oder -1, wenn kein ausgewähltes Element vorhanden ist. Undvalue
" gibt den Wert des ersten ausgewählten Elements zurück, falls vorhanden, oder die leere Zeichenfolge, falls vorhanden kein ausgewähltes Element. "Wenn also selectedIndex = -1 ist, wissen Sie, dass sie nichts ausgewählt haben.quelle
-1
. Entschuldigung, ich habe in den Kommentaren nicht zuerst geklärt.Ja, es funktioniert:
Sie müssen die erste Option leer lassen.
quelle
quelle
Zuerst müssen Sie in der ersten Option einen leeren Wert zuweisen. dh hier auswählen. als nur erforderlich funktioniert.
quelle
Machen Sie den Wert des ersten Elements des Auswahlfelds leer.
Wenn Sie also jedes FORMULAR veröffentlichen, erhalten Sie einen leeren Wert. Auf diese Weise wissen Sie, dass der Benutzer nichts aus der Dropdown-Liste ausgewählt hat.
quelle
Sie müssen das
value
Attribut vonoption
auf die leere Zeichenfolge setzen:select
das wird wiedervalue
der ausgewähltenoption
an den Server , wenn der Benutzer drücktsubmit
auf dieform
. Eine leere Eingabe entsprichtvalue
einer leerentext
Eingabe -> Auslösen derrequired
Nachricht.w3schools
quelle
versuche das, das wird funktionieren, ich habe es versucht und das funktioniert.
quelle
Funktioniert einwandfrei, wenn der Wert der ersten Option null ist. Erläuterung: Der HTML5 liest beim Senden der Schaltfläche einen Nullwert. Wenn nicht null (Wertattribut), wird angenommen, dass der ausgewählte Wert nicht null ist, daher hätte die Validierung funktioniert, dh indem überprüft wurde, ob das Options-Tag Daten enthält. Daher wird die Validierungsmethode nicht erstellt. Ich denke jedoch, dass die andere Seite klar wird, wenn das Wertattribut auf null gesetzt ist, dh (value = ""), erkennt HTML5 einen leeren Wert auf der ersten bzw. der standardmäßig ausgewählten Option und gibt so die Validierungsnachricht aus. Danke für die Frage. Freue mich zu helfen. Ich bin froh zu wissen, ob ich es getan habe.
quelle
In HTML5 können Sie den vollständigen Ausdruck verwenden:
Ich weiß nicht, warum der kurze Ausdruck nicht funktioniert, aber probieren Sie diesen aus. Es wird sich lösen.
quelle
Versuche dies
quelle
Sie können dies auch dynamisch mit JQuery tun
Set erforderlich
Erforderlich entfernen
quelle