Wie ich in den Kommentaren erwähnt, alles, was Sie wirklich brauchen, um den Bereich der Eingänge in einem Date-Eingabeelement zu begrenzen, ist die min
und max
Attribute. Kein JavaScript benötigt!
<input type="date" name="datepost" min="2005-01-01" max="2020-12-12" value="<?php echo date('Y-m-d');"/>
Dies wird das Datum begrenzen, so dass 1. Januar 2005 der Mindest Zeitpunkt zur Verfügung steht in der Form für die Auswahl zu sein, und 12. Dezember 2020 der maximale Zeitpunkt zur Verfügung steht.
Obwohl der Benutzer das Datum angeben kann, indem er einfach ein Datum seiner Wahl eingibt (anstatt eines mit seinem Cursor aus dem Auswahlfenster auszuwählen), außerhalb dieser Parameter, sollten Sie dies in PHP validieren (on eine serverseitige Ebene), die Sie in jedem Fall für alle Benutzereingaben tun sollten. Sie können es auch in JavaScript validieren, aber immer Server-Seite validieren. Siehe die andere Antwort für eine Möglichkeit, es in PHP zu validieren.
Wenn es _before_ submit ist, ist es in PHP nicht möglich; Es muss JavaScript sein. –
Sie können auch 'min' und' max' Attribute verwenden, da Sie '' –
verwenden. Sie können Attribute 'min' und' max' angeben, wie 'min =" 2005-01 -01 "' und 'max =" 2020-12-12 "', aber Sie sollten es immer auch serverseitig validieren. – Qirel