Hallo
Ich habe neulich schon einmal Hilfe bei einem Datum-Script in Anspruch genommen. Noch einmal vielen Dank dafür.
Mein jetziges Problem:
Ich habe ein Script angehängt, dass zwei Datums enthält. Dort kann man nur das jeweilige und ein künftiges Datum auswählen. Soweit so gut. Jetzt möchte ich dass das zweite Datum immer höher ist als das Erste.
Siehe hier:
Kann mir jemand helfen?
Schon einmal vielen Dank im voraus.
geschrieben von Danny am 18.07.2010 - 11:35
Hallo Herbert,
du müsstest in der ReturnDay() Funktion eine Abfrage einbauen. Erst das jeweils andere Feld auslesen z.B. mit
HTML-Quelltext
1:
var startDateValue = document.ersterTag.digital.value
für das Startdatumfeld. Dort steht ja dann ein Datum drin, das kleiner als das Enddatum sein soll. Zum Vergleich bietet sich an den String dd.mm.YYYY aufzuteilen in Tag, Monat und Jahr. Entsprechenden Code hast du sogar schon in der GetDate() Funktion stehen.
HTML-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
if(/d{1,2}.d{1,2}.d{4}/.test(startDateValue)) {
// element contains a date, so set the shown date
var vParts = startDateValue.split("/"); // assume dd/mm/yyyy
sm = vParts[0] - 1;
sd = vParts[1];
sy = vParts[2];
m=sm;
d=sd;
y=sy;
}
Das selbe machst du mit dem Enddatum. Wenn nun
HTML-Quelltext
1:
StartJahr < Endjahr ODER (StartJahr <= EndJahr UND StartMonat < EndMonat) ODER (StartJahr <= EndJahr UND StartMonat <= EndMonat UND StartTag < EndTag)
gilt ist alles in Ordnung, wenn nicht dann muss z.B. das Enddatum auf Startdatum + 1 gesetzt werden. Wahrscheinlich bietet es sich auch an die Abfrage nicht Komponentenweise zu vergleichen .. wahrscheinlich gibt es im Javascript schon Datumvergleichsfunktionen.
Das vielleicht mal als erster Ansatz.
Gruß Danny
geschrieben von Herbert1204 am 18.07.2010 - 17:16
Hallo Danny
Ich habe mein Script nach Deinen Anweisungen so verändert, wie ich es verstanden habe. Ich bekomme zwar keine Fehlermeldung mehr, aber das System funktioniert noch nicht wie gewünscht. Kannst du das angehängte Script noch einmal überprüfen?