Gunnar Bittersmann: Kontaktformular

Beitrag lesen

@@HTML Anfänger:

nuqneH

1.) Ich prüfe meine Felder mit PHP ob der User etwas eingegeben hat, dieses mache ich beim Namen so:

Dieses machst du hoffentlich nicht nur serverseitig, sondern auch schon clientseitig.

Eingabefeld als Pflichtfeld mit required-Attribut:

<input name="name" required>  

bzw. polyglott

<input name="name" required="required"/>  

Wird versucht, das Formular abzuschicken, ohne dass das Feld ausgefüllt wurde, zeigt der Browser eine entsprechende Meldung an.*

Mit der Pseudoklasse :invalid lässt sich das leere Eingabefeld auch hervorheben. Allerdings wirkt diese auch schon anfangs; man will den Nutzern aber nicht suggerieren, sie hätten etwas falsch gemacht, wenn sie noch gar nichts gemacht haben.

Prüfen ob in POST etwas vorhanden ist brauch ich ja nicht, da IMMER etwas drin steht nämlich "Bitte wählen"

Das könnte man durchaus für einen Designfehler halten, die Aufforderung als Option zu haben. Allerdings möchte man auch nicht unbedingt eine der „richtigen“ Optionen als Default haben.

Mit dem disabled-Attribut erreicht man, dass die Aufforderung nicht wieder ausgewählt werden kann, wenn man schon eine „richtige“ Option gewählt hat.

Wenn die Aufforderung nicht "0", sondern "" als Wert hat, lässt sich auch hier wieder required sinnvoll verwenden:

<select name="betreff" id="betreff" required>  
  <option value="" selected="selected" disabled>-- Bite wählen</option>  
  <option value="Test 1">Test 1</option>  
  <option value="Test 2">Test 2</option>  
</select>

Bite ein Bitt.

Qapla'

* Safari missachtet die Spec und schickt ein invalides Formular trotzdem ab. Ist der Fehler inzwischen korrigiert? Hab noch keine Lust, auf Yosemite umzusteigen.

--
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)