|
|||
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); } } }); Wo liegt der Fehler? Danke für eure Hilfe Mathias |
Sponsored Links |
|
||||
A) Falscher Forenbereich
B) Du schreibst was von HTML5, welches HTML5? C) Welches Datepicker-Script nutzt du?
__________________
Hier ein immer gültiges Statement: Überarbeite deine Code, lerne die Grundlagen, widersprich mir nicht, wehre dich nicht, ich habe Recht, wir sind Lolgion, wir sind viele.. potato... All meine Angaben sind ohne Gewähr, es könnte also trotz meiner Unfehlbarkeit dazu kommen dass ich falsch liege www.richard-thiel.de | Müssen Websiten überall gleich ausschauen? |
Sponsored Links |
|
|||
Danke für deine Antwort.
Sorry, kann das verschoben werden? Zitat:
Zitat:
Gruss Mathias |
|
|||
Damit war wohl eher gemeint, dass du uns nur javascript-Code vorgesetzt hast, uns den HTML-Teil aber verschwiegen hast.
|
|
|||
@cloned:
Der HTML-Code ist, glaube ich, auch irrelevant. Das Script läuft ja bei allen an anderen Daten, ausser im Schaltjahr korrekt. Hier der Code. HTML-Code:
<div class="ym-fbox ym-fbox-text"> <label for="REQ_mail1" title="email1"> e-Mail-Adresse</label> <input id="REQ_mail1" name="FROM*" placeholder="mustermann@xyz.com" pattern="^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$" required="" size="20" tabindex="12" title="Emailadresse 'mustermann@xyz.com'" type="email" value="" /> </div> <div class="ym-fbox ym-fbox-text"> <label for="REQ_mail2" title="email2"> Bestätigen e-Mail-Adresse</label> <input id="REQ_mail2" name="mail2*" placeholder="mustermann@xyz.com" pattern="^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$" required="" size="20" tabindex="13" title="Emailadresse wiederholen 'mustermann@xyz.com'" type="email" value="" /> </div> Der Fehler miss in dieser Zeile liegen: Code:
myDate.setDate(myDate.getDate() + 2); Heute Nachmittag: Habe ich viel im Internet gesucht und einige Beispiele gefunden. Mein Rückschluss: Das Problem muss bei JavaScript oder jQuery liegen. Ist ein reines Februar-Problem. Hier ein Link: http://jsfiddle.net/GHKRS/7/ Da werden auch seltsame Resultate angezeigt. Geändert von singel (28.02.2014 um 16:20 Uhr) |
|
|||
Glaube ich habe es geschaft. Der Codeausschnitt ab "onClose:" sieht nun so aus:
Code:
onClose: function(selectedDate) { var oldDate = selectedDate.split('.'); var myDate = new Date(oldDate[2], oldDate[1]-1, oldDate[0]); myDate.setDate(myDate.getDate() + 2); myDate = $.datepicker.formatDate('dd.mm.yy', new Date(myDate)); Mathias |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
datepicker deutsches formst und mysql | Madmaxx89 | Javascript & Ajax | 3 | 12.03.2013 20:13 |
Include Befehl bei XHTML 1.0 Strict | Oliwood | Serveradministration und serverseitige Scripte | 20 | 27.02.2009 00:40 |
Monat im Datum abfragen? | L4rs | Serveradministration und serverseitige Scripte | 2 | 26.12.2007 16:15 |