Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Formular mit Datum und Uhrzeit
#2
Hi Lisa:4_33,
geht klar - hier ist mein Vorschlag:

Code:
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dynamische Auswahl Uhrzeit</title>
    <script>
        let datum;
        document.addEventListener("DOMContentLoaded", init);
        function init() {
            datum = document.querySelector("#datum");
            datum.addEventListener("change", checkDatum);
        }
        function checkDatum() {
            let myDateObj = new Date(datum.value);
            let myDay = myDateObj.getDay();
            switch(myDay) {
                case 1:
                createInput(['10 Uhr', '11 Uhr', '12 Uhr']);
                break;
                case 2:
                createInput(['10 Uhr', '11 Uhr', '12 Uhr']);
                break;
                case 3:
                createInput(['10 Uhr', '11 Uhr', '12 Uhr']);
                break;
                case 4:
                createInput(['10 Uhr', '11 Uhr', '12 Uhr']);
                break;
                case 5:
                createInput(['10 Uhr', '11 Uhr']);
                break;
                case 6:
                createInput(['10 Uhr']);
                break;
                case 0:
                default:
                    createInput(["Keine Termin möglich"]);
            }
        }
        function createInput($myArray) {
            if(document.querySelector('#uhrzeit')) {
                while(document.querySelector('#uhrzeit').firstChild) {
                    document.querySelector('#uhrzeit').firstChild.remove();
                }
                $myArray.forEach(item => {
                    let newElem = document.createElement('option');
                    newElem.textContent = item;
                    document.querySelector('#uhrzeit').appendChild(newElem);
                });
            } else {
                newSelect = document.createElement('select');
                newSelect.size = "1";
                newSelect.setAttribute('id', 'uhrzeit');
                document.body.appendChild(newSelect);
                $myArray.forEach(item => {
                    let newElem = document.createElement('option');
                    newElem.textContent = item;
                    document.querySelector('#uhrzeit').appendChild(newElem);
                });
            }
        }
    </script>
</head>
<body>
    <input type="date" name="datum" id="datum">   
</body>
</html>

Das Select-Element wird erstellt wenn keines vorhanden ist und wenn ein Datum geändert wird, werden die Uhrzeiten die man auswählen kann geändert. Dabei werden erst alles option-Elemente entfernt und dann durch neue option-Elemente ersetzt.

Viele Grüße rzscout
"Gerne dürft ihr mir eine gute Bewertung da lassen aber auch gegenüber Kritik bin ich offen" Angel
Zitieren


Nachrichten in diesem Thema
Formular mit Datum und Uhrzeit - von Lisa_33 - 14.03.2024, 08:26
RE: Formular mit Datum und Uhrzeit - von rzscout - 14.03.2024, 15:40

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
2 Gast/Gäste