Daten vergleichen

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
ra_be
Beiträge: 30
Registriert: 03.09.2008, 16:19

Daten vergleichen

Beitrag von ra_be » 03.08.2009, 09:57

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




walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Daten vergleichen

Beitrag von walde » 03.08.2009, 11:09

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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

ra_be
Beiträge: 30
Registriert: 03.09.2008, 16:19

Daten vergleichen

Beitrag von ra_be » 03.08.2009, 11:55

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.

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Daten vergleichen

Beitrag von walde » 03.08.2009, 21:03

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

Camperlilli
Beiträge: 2
Registriert: 03.02.2011, 14:15

Daten vergleichen

Beitrag von Camperlilli » 13.02.2013, 13:30

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!


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

Daten vergleichen

Beitrag von Merklin » 13.02.2013, 13:55

Hallo Camperlilli,

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

VG Merklin
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Camperlilli
Beiträge: 2
Registriert: 03.02.2011, 14:15

Daten vergleichen

Beitrag von Camperlilli » 13.02.2013, 14:25

Hallo Merklin, vielen Dank für die schnelle Antwort!

Antworten