Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 27.02.2014, 17:53
singel singel ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 28.01.2014
Beiträge: 12
singel befindet sich auf einem aufstrebenden Ast
Standard Datepicker minDat: +2 im Monat Februar

Hallo Forumsuser

Habe ein Kontakt- und Buchungsformular erstellt. Hoffe, es ist mir gelungen alles korrekt in HTML5 zu schreiben.

Ausgangslage:

Im Formular sind 2 Felder um das Datum der Anreise bzw. Abreise einzutragen. Diese Felder werden über den jQuerry-Datapicker bedient. Den Datapicker habe ich so programmiert, dass im Feld Anreise ein Datum vor "Heute" nicht angewählt werden kann. Da die Mindestaufenthaltsdauer 2 Tage betragen soll, wird im Feld Abreise die Auswahl so eingeschränkt, das ein Datum vor Anreise + 2 Tage nicht möglich ist.

Code:
    $("#REQ_anreise_dat").datepicker({
        showButtonPanel: true,
        minDate: 0,
        showOtherMonths: true,
        selectOtherMonths: true,
        changeMonth: true,
        changeYear: true,
        // Schliesst Bildschirmtastatur
        beforeShow: function (input) {
            $("#REQ_anreise_dat").blur();
        }, 
        onClose: function (selectedDate) {
            var oldDate = selectedDate.split('.');
            var myDate = new Date(oldDate[2], oldDate[1], oldDate[0]);
            myDate.setDate(myDate.getDate() + 2);
            var date = (myDate.getDate().toString().length < 2) ? '0' + myDate.getDate() : myDate.getDate();
            var month = (myDate.getMonth().toString().length < 2) ? '0' + myDate.getMonth() : myDate.getMonth();
            var myDate = date + '.' + month + '.' + myDate.getFullYear();
            if (myDate === "NaN.NaN.NaN") {
                myDate = 0;
                return;
            } else {
                $("#REQ_abreise_dat").datepicker("option", "minDate", myDate);
               alert(myDate); 
            }
        }
    });
 //
    $("#REQ_abreise_dat").datepicker({
        showButtonPanel: true,
        minDate: +2,
        showOtherMonths: true,
        selectOtherMonths: true,
        changeMonth: true,
        changeYear: true,
         // Schliesst Bildschiemtastatur
        beforeShow: function (input) {
            $("#REQ_abreise_dat").blur();
        },
        onClose: function (selectedDate) {
            var oldDate = selectedDate.split('.');
            var myDate = new Date(oldDate[2], oldDate[1], oldDate[0]);
            myDate.setDate(myDate.getDate() - 2);
            var date = (myDate.getDate().toString().length < 2) ? '0' + myDate.getDate() : myDate.getDate();
            var month = (myDate.getMonth().toString().length < 2) ? '0' + myDate.getMonth() : myDate.getMonth();
            var myDate = date + '.' + month + '.' + myDate.getFullYear();
            if (myDate === "NaN.NaN.NaN") {
                myDate = 0;
                return;
            } else {
                $("#REQ_anreise_dat").datepicker("option", "maxDate", myDate);
            }
        }
 });
Dieser Code hat bis heute gut funktioniert. Aber eben wir haben nun den 27. Februar. minDate: + 2 Tage berechnet der Code, heute 27.02.2014, nicht mit 1. März 2014 sondern mit einem Datum Oktober 2019!

Wo liegt der Fehler?
Danke für eure Hilfe
Mathias
Mit Zitat antworten
Sponsored Links