messageBog mit exit Event wird dreimal angzeigt

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
Forms73
Beiträge: 16
Registriert: 12.04.2012, 11:22

messageBog mit exit Event wird dreimal angzeigt

Beitrag von Forms73 » 27.02.2013, 10:30

Hallo,

ich möchte in einem Enddatumsfeld über ein Javascript eine Plausibilitätsprüfung einbauen. Dazu habe ich im exit Event folgendes Script hinterlegt:

if(this.rawValue < Startdate.rawValue)
xfa.host.messageBox("Das von Ihnen gewählte Enddatum ist nicht plausibel. Bitte überprüfen Sie Ihre Eingabe.");

Wenn ich nun ein falsches Datum eingebe erscheint die Fehlermeldung aber dreimal hintereinander. Nach dem dritten Anzeigen verschwindet die messagBox und der Wert kann korrigiert werden? Für den User ist es aber nicht sehr konfortabel, dreimal die Fehlermeldung wegklicken zu müssen. Gibt es eine Möglichkeit, dies zu verhindern oder wäre vielleicht ein anderer Ereignistyp sinnvoll?

Vielen Dank für die Mühen.

Forms73



Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

messageBog mit exit Event wird dreimal angzeigt

Beitrag von nele_sonntag » 27.02.2013, 16:14

Hallo Forms73,

wenn es 3x angezeigt wird, wird es wohl auch 3x aufgerufen und du hast wohl vermutlich irgendwo einen syntaktischen Fehler.

Am besten mal PDF hochladen. Dann kann dir verünftig geholfen werden.

LG Mandy

Forms73
Beiträge: 16
Registriert: 12.04.2012, 11:22

messageBog mit exit Event wird dreimal angzeigt

Beitrag von Forms73 » 28.02.2013, 09:09

Hallo,

ich habe jetzt mal die Datei angehängt. Wenn ich nur die relevanten Felder SAE_Start und SAE_Stop von Seite 2 herauskopiere, funktioniert das Javascript. Irgendwie muss also der Wurm im Formular liegen. Ich habe mal versucht, die Datumsfelder SAE_Start und SAE_Stop auf der 2. Seite des Dokuments kenntlich zu machen, indem ich sie mit Start date und End date überschrieben habe.

Vielen Dank für die Hilfe

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

Forms73
Beiträge: 16
Registriert: 12.04.2012, 11:22

messageBog mit exit Event wird dreimal angzeigt

Beitrag von Forms73 » 28.02.2013, 10:18

Hallo zusammen,

ich habe gerade festgestellt, dass das Javascript funktioniert bzw. die Fehlermeldung einwandfrei nur einmal aufgeht, wenn ich das Formular im Reader ausfülle. In Professional aber erscheint die Fehlermeldung, 3 - 4x hintereinander, bevor ich sie wegklicken kann. Woran kann das denn liegen?

Vielen Dank!

Forms73

Benutzeravatar
radzmar
Beiträge: 962
Registriert: 26.10.2011, 10:18

messageBog mit exit Event wird dreimal angzeigt

Beitrag von radzmar » 28.02.2013, 13:50

Also bei mit kommt die Meldung 2 mal, was mit korrekt erscheint, da neue rawValue erst nach dem exit Event eingestellt wird.
Ist schon ein falsches Datum im Feld enthalten, wird die Bedingung schon während des exit Events das erste Mal erfüllt.
Durch die Meldung bleibt der Fokus auf dem Feld und das exit Event wird dannach also nochmal ausgeführt.

Das kann man lösen, indem man den Feldwert löscht, sobald die Bedingung einmal erfüllt ist:

Code: Alles auswählen

if (this.rawValue < SAE_Start.rawValue) {
	xfa.host.messageBox("Das von Ihnen gewählte Enddatum ist nicht plausibel. Bitte überprüfen Sie Ihre Eingabe.");
	this.rawValue = null;
}
Generelle Kritik:
Dein JavaScript ist leider sehr schlampig geschrieben.
Dass das mitunter gar nicht funktioniert, würde mich nicht wundern.
Du solltest vor allem die geschweiften Klammern nicht immer weglassen.

Anbei mal ein Bericht mit den JavaScript-Sünden.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Forms73
Beiträge: 16
Registriert: 12.04.2012, 11:22

messageBog mit exit Event wird dreimal angzeigt

Beitrag von Forms73 » 01.03.2013, 08:26

Hallo radzmar,

vielen Dank für deinen Tipp und dein ausführliches FeedbacK!

Forms73

Antworten