Seite 1 von 1
Zurück ins Feld nach Validierung
Verfasst: 28.04.2014, 20:11
von tenakel
Hallo
Ich habe folgenden Code bisher verwendet, um nach der Validierung den Focus mit Hilfe des Exit-Events wieder ins betroffene Feld zu setzen:
Formular1.TF30.Erreichbar_von::validate - (JavaScript, client)
var a = this.rawValue >= 8 && this.rawValue <= 21
if (a == true)
true;
else
false
Formular1.TF30.Erreichbar_von::exit - (JavaScript, client)
if (a == false)
xfa.host.setFocus(this);
Das funktioniert aber mit dem neuen ES4 nicht mehr. Ich steige aber nicht dahinter, warum?
Weiss jemand Rat?
Zurück ins Feld nach Validierung
Verfasst: 28.04.2014, 21:08
von nele_sonntag
Dein PDF wäre hilfreich, aber ich gehe davon aus, dass "a" im exit undefined, weil unbekannt ist. Jep, das sagt der Debugger auch..und auch im ES2, es kann also nie funktioniert haben.
Abgesehen davon ist a schon ohne deine if-Abfrage, true oder false.
Siehst Du, wenn Du danach mal mit einem Alert "a" ausgeben lässt.
Code: Alles auswählen
var a = this.rawValue >= 8 && this.rawValue <= 21;
app.alert(a);
LG Mandy
Zurück ins Feld nach Validierung
Verfasst: 28.04.2014, 21:13
von nele_sonntag
Und warum überhaupt das validate dafür nutzen, gehe doch einfach ins exit:
Code: Alles auswählen
if (this.rawValue >= 8 && this.rawValue <= 21){
}else{
app.alert("Nur...eingeben. Danke.");
xfa.host.setFocus(this);
this.rawValue = null;
}
Oder Du negierst den oberen Ausdruck..dann braucht's nur 1 Zeile.
Und iÜ würd eich natrlich die Falscheingabe wenigstens reseten und dem User erklären wieso. Sonst hagelt es Anrufe, von Usern, die glauben, das PDF wäre defekt.
Zurück ins Feld nach Validierung
Verfasst: 29.04.2014, 07:48
von tenakel
Hallo Nele,
danke für dein Antwort, das ist toll. Aber Du hast das genau richtig erkannt, "a" ist undefiniert - aber wie bekomme ich die Variable denn definiert?
Kannst Du mir da noch mal helfen?
Zurück ins Feld nach Validierung
Verfasst: 29.04.2014, 08:33
von tenakel
Hier ist meine Beispiel-Datei und wie man sieht, funktioniert das - genau so wie oben beschrieben. Ich versteh aber nicht, warum das im ES4 nicht mehr geht?
Zurück ins Feld nach Validierung
Verfasst: 29.04.2014, 13:36
von nele_sonntag
Indem Du es nicht in zwei unterschiedlichen Events benutzt, sondern so, wie ich es oben schon beschrieben habe.
Ansonsten geht es nur über eine globale Variable, da die überall bekannt ist..ist hier allerdings völlig unnötig, wenn Du mich fragst.
LG Mandy
Zurück ins Feld nach Validierung
Verfasst: 29.04.2014, 14:27
von tenakel
Hallo Nele,
ja, Du hast vollkommen Recht. Es macht mich aber wahnsinnig, wenn ich etwas nicht verstehe. Schau doch mal in meine Test.pdf, da gehts ja auch.
lg Rolf
Zurück ins Feld nach Validierung
Verfasst: 29.04.2014, 15:18
von nele_sonntag
Hej,
ja, es taucht tatsächlich im Debugger keine Fehlermeldung auf, aber nichtdestotrotz...Du solltest Dir erst gar nicht so eine unsaubere Syntax und Programmierweise angewöhnen.
Auch Deine freie Interpretation von IF-Abfragen und ständig fehlender Semikolons lassen mich gruseln..
Ich arbeite nebenbei an etwas recht komplexem, vielleicht sehe ich deswegen den Wald vor lauter Bäumen nicht und die anderen haben noch eine Idee.
LG Mandy