Seite 1 von 1

Daten vergleichen

Verfasst: 03.08.2009, 09:57
von ra_be
Hallo,
ich versuche mich noch immer an die Datumsfunktionen von Javascript heranzutasten...

Folgendes: Der Benutzer gibt ein Datum ein und die eine Ausgabe eines Datums (1 Jahr weiter) erfolgt in Datefield2.

var oDate = util.scand("yyyy-mm-dd", this.rawValue);
var sFullYear = oDate.getFullYear();
var sMonth = oDate.getMonth();
var sDate = oDate.getDate();
Datefield2.formattedvalue = util.printd("dd.mm.yy", new Date((sFullYear+1), sMonth, sDate));
Datefield2.rawValue = Datefield2.formattedvalue;
 
Jetzt soll das geänderte Datum (plus 1 Jahr) mit dem aktuellen Systemdatum verglichen finden. Und wenn es kleiner ist als das aktuelle Datum dann:

 
if (nDate < cDate){
      Datefield2.fontColor="255,0,0";
}


Hat jemand einen Tipp?
Dank+Gruß
ra_be




Daten vergleichen

Verfasst: 03.08.2009, 11:09
von walde
Hallo ra_be,

 

Wenn ich Sie richtig verstanden habe, so sollte das nachfolgende JavaScript die Lösung bieten. In diesem ist die Validierung des Datumformats bereits enthalten.

Code: Alles auswählen

var sPfad = this.somExpression;
var sDate = this.rawValue;
var oDate = util.scand("yyyy-mm-dd", sDate);
if(oDate == null){
xfa.host.resetData(sPfad);
DatumsUhrzeitfeld2.rawValue = null;
}
else{
var oDateYear = oDate.getFullYear();
var oDatenYear = oDate.setFullYear(oDateYear+1);
DatumsUhrzeitfeld2.rawValue = util.printd("yyyy-mm-dd", new Date(oDatenYear));
if(new Date() > new Date(oDatenYear)){
DatumsUhrzeitfeld2.fontColor = "255,0,0";
}
else{
DatumsUhrzeitfeld2.fontColor = "0,0,0";
}
}
gruß,

 

Walde

Daten vergleichen

Verfasst: 03.08.2009, 11:55
von ra_be
Hallo Walde,

vielen Dank für die schnelle Antwort. Sie haben mich genau richtig verstanden.

Was bedeuten diese beiden Zeilen?

var sPfad = this.somExpression;

xfa.host.resetData(sPfad);


Danke
ra_be

PS: Ich habe mein posting gerade eben noch einmal gelesen. Ich bitte meine Fehler zu entschuldigen.

Daten vergleichen

Verfasst: 03.08.2009, 21:03
von walde
Hallo ra_be,

SomExpression liefert den vollständig qualifizierten Referenzsyntax Ausdruck für ein Objekt. Siehe nachfolgend.

Code: Alles auswählen

xfa[0].form[0].Formular1[0].#subform[0].DatumsUhrzeitfeld1[0]
Dies ist notwendig um das Datumfeld bei fehlgeschlagener Validierung zu "resetten".

gruß,


Walde

Daten vergleichen

Verfasst: 13.02.2013, 13:30
von Camperlilli
Hallo Walde,
ich habe ein ähnliches Problem, ich möchte zwei Datumsangaben miteinander vergleichen und das spätere automatisch in ein schreibgeschütztes Datumsfeld übernehmen. Ich würde mich über eine Antwort sehr freuen!



Daten vergleichen

Verfasst: 13.02.2013, 13:55
von Merklin
Hallo Camperlilli,

ich bin zwar nicht Walde, aber vielleicht reicht dir mein Beispiel.

VG Merklin

Daten vergleichen

Verfasst: 13.02.2013, 14:25
von Camperlilli
Hallo Merklin, vielen Dank für die schnelle Antwort!