Gunnar Bittersmann: Aktuelles Datum als max in ein datums Eingabefeld

Beitrag lesen

@@Rolf B

Der Vorschlag von "ISO-Datum", das Problem im PHP Script am Server zu lösen, ist sicherlich die beste Idee.

Ist es das? S.u.

   let kaufDatum = document.getElementById("kaufDatum");

const wäre statt let angebracht.

Wenn das auch in älteren Browsern laufen soll, müsste dafür aber var stehen. (Gibt es Browser, die <input type="date"> unterstützen, aber nicht const?

  • das Script registriert einen Eventhandler für das DOMContentLoaded Event. Dieses Event wird gefeuert, sobald das HTML Dokument interpretiert und in das Objektmodell des Browsers (das DOM) umgewandelt ist.

Wenn man das Script nicht in den header packt, sondern am Ende des body einbindet, braucht man den DOMContentLoaded-Handler nicht.

Was soll aber passieren, wenn man das Formular an einem Tag öffnet (sagen wir um 23:55), aber erst am nächsten Tag ausfüllt?

Womöglich ist es doch besser, das max-Attribut bei jedem focus-Event neu zu setzen:

const kaufDatum = document.getElementById("kaufDatum");
if (kaufDatum)
{
  kaufDatum.addEventListener('focus', function () {
    kaufDatum.max = new Date().toISOString().substring(0,10);
  });
}

LLAP 🖖

--
„Man kann sich halt nicht sicher sein“, sagt der Mann auf der Straße, „dass in einer Gruppe Flüchtlinge nicht auch Arschlöcher sind.“
„Stimmt wohl“, sagt das Känguru, „aber immerhin kann man sich sicher sein, dass in einer Gruppe Rassisten nur Arschlöcher sind.“

—Marc-Uwe Kling