Sven Rautenberg: Auswahl-Liste nur mit gültigen Tagen eines Monats füllen

Beitrag lesen

Moin!

Ich überlege gerade wie man sowas mit Javascript machen könnte. Ich habe 3 Auswahlfelder(<select>):

Tag | Monat | Jahr |

Jetzt möchte ich erreichen, das im Auswahl-Feld "Tag" immer nur gültige Tage stehen, also 1-31, 1-30, 1-29, 1-28

Och nöö, schon wieder so ein super-unergonomisches Formular mit ganz besonders gut gemeinter Datumsselektion!

Die beste Datumseingabefunktion ist immer noch: <input type="text"> Mit meinem numerischen Eingabefeld bin ich so schneller, als jeder Selectlisten-Terror!

Wenn du dem Besucher unbedingt aufdrängen willst, dass er gefälligst Tag, Monat und Jahr in getrennte Felder schreiben soll, dann mach drei Felder hin.

Ansonsten ist das Prüfen eines korrekten Datums Aufgabe deines Programms. Gerne darfst du mit Javascript schon vorm Abschicken gucken, ob es das eingegebene Datum überhaupt gibt: Einfach ein Datumsobjekt mit dem eingegebenen Datum erstellen, das so erzeugte Datum dann mit dem eingegebenen Datum vergleichen - wenn da Unterschiede auftreten, hat Javascript den 30. Februar in den 1. oder 2. März umgewandelt (das ist der geniale Trick an dieser Vorgehensweise), und du kannst eine Fehlermeldung ausgeben.

Und auch beim Eingabeformat des Datums könntest du mit ein wenig gutem Willen die Benutzerfreundlichkeit recht hoch setzen, indem du viele Formate erlaubst, die man so eingeben kann: TTMMYYYY, T.M.YYYY, T,M,Y - ganz schlau wäre auch YYYY-MM-TT.

- Sven Rautenberg

--
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)