Hallo Gunnar,
„Nicht ausgefüllt“ heißt kein Wert, nicht Wert 0. Also nicht
value="0"
, sondern gar keinvalue
-Attribut.
Nun soll das
select
-Feld beim Absenden aber einen Wert haben, alsorequired
-Attribut setzen.
Ok, habe ich geändert
<form name="form1" method="post" action="">
<label for="test">Test</label>
<select name="test" id="test" required>
<option>-- Bitte wählen</option>
<option value="1">Test 1</option>
<option value="2">Test 2</option>
<option value="3">Test 3</option>
</select>
<input type="submit" name="senden" id="senden" value="Senden">
</form>
Führe ich dieses Beispiel nun aus, kommt kein Hinweis, dass das Feld ein Pflichtfelder ist, wie ich es von anderen Feldern gewohnt bin.
Der Fall ist übrigens in der Spec beim
select
-Element aufgeführt. Kuckst du nach „When there is no default option, a placeholder can be used instead“.
Mache ich es so, wie es in der Doku steht, dann kommt auch das Feld wieder, das ich im ersten Beispiel vermisst habe
<form name="form1" method="post" action="">
<label for="test">Test</label>
<select name="test" id="test" required>
<option value="">-- Bitte wählen</option>
<option value="1">Test 1</option>
<option value="2">Test 2</option>
<option value="3">Test 3</option>
</select>
<input type="submit" name="senden" id="senden" value="Senden">
</form>
Also kann ich "value" nicht einfach komplett weg lassen, wie du es mir vorgeschlagen hast.