Hallo, ich habe folgendes Problem.
Ich habe in einem Formular Pflichtfelder, die überprüft werden sollen und dann ein Fehlermeldung hervorbringen sollen. Das funktioniert auch gut mit
[fontsize=2][fontsize=2]if[/fontsize][/fontsize][fontsize=2](Vorname.rawValue [/fontsize][fontsize=2][fontsize=2]==[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]null[/fontsize][/fontsize][fontsize=2])app.alert("Bitte füllen Sie den Vornamen aus.")[/fontsize]
[fontsize=2]Wenn ich jetzt aber die Fehlermeldung mit "OK" bestätige, springt der Cursor in das nächste Feld, verliert also den focus auf dem Feld "Vorname".[/fontsize]
[fontsize=2]Ich bin am verzweifeln und habe schon viel probiert.[/fontsize]
[fontsize=2]Könnt Ihr mir sagen, wie ich LCD dazu bringe den Cursor in diesem leeren Feld zu halten.[/fontsize]
[fontsize=2]Ich würde mich über response freuen.[/fontsize]
[fontsize=2]Vielen Dank
[/fontsize]
Feld nach Überprüfung auf "leer", nicht verlassen
Feld nach Überprüfung auf "leer", nicht verlassen
Update:
Bisher bin ich soweit:
[fontsize=2][fontsize=2]
if[/fontsize][/fontsize][fontsize=2](Vorname.rawvalue [/fontsize][fontsize=2][fontsize=2]==[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]null[/fontsize][/fontsize][fontsize=2])app.alert("Bitte geben Sie alle Vornamen an.");xfa.host.setFocus("Vorname");
[/fontsize]
Jetzt bleibt der Cursor im Feld. ALLERDINGS auch wenn das Feld "Vorname" ausgefüllt ist.
Könnte jemand den Code ergänzen oder in eine Schleife setzen ?
Oder das Return. Ich weiß auch nicht wo die "{" und "}" genau hinkommen.
Es ist zum Mäuse melken.
Ich hab doch nicht soviel Ahnung davon.
Vielen lieben Dank
Bisher bin ich soweit:
[fontsize=2][fontsize=2]
if[/fontsize][/fontsize][fontsize=2](Vorname.rawvalue [/fontsize][fontsize=2][fontsize=2]==[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]null[/fontsize][/fontsize][fontsize=2])app.alert("Bitte geben Sie alle Vornamen an.");xfa.host.setFocus("Vorname");
[/fontsize]
Jetzt bleibt der Cursor im Feld. ALLERDINGS auch wenn das Feld "Vorname" ausgefüllt ist.
Könnte jemand den Code ergänzen oder in eine Schleife setzen ?
Oder das Return. Ich weiß auch nicht wo die "{" und "}" genau hinkommen.
Es ist zum Mäuse melken.
Ich hab doch nicht soviel Ahnung davon.
Vielen lieben Dank
Feld nach Überprüfung auf "leer", nicht verlassen
Hallo Lifebiker,
Hallo Lifebiker,
Ihr Befehl "if(Vorname.rawvalue ..." hat einen Schreibfehler, deswegen verlässt der Fokus nicht das Feld.
Anstatt "rawvalue" sollten Sie es mit "rawValue" probieren.
gruß,
Walde
Hallo Lifebiker,
Ihr Befehl "if(Vorname.rawvalue ..." hat einen Schreibfehler, deswegen verlässt der Fokus nicht das Feld.
Anstatt "rawvalue" sollten Sie es mit "rawValue" probieren.
gruß,
Walde
Feld nach Überprüfung auf "leer", nicht verlassen
Lieber Walde,
vielen Dank für den Tipp. Nur verläßt er auch bei folgendem Code das gefüllte Feld nicht.
if(Vorname.rawValue == null)app.alert("Bitte geben Sie alle Vornamen an.");xfa.host.setFocus("Vorname");
Ich habe das Gefühl, da gehört noch irgendwie ein return false oder ein return true hin. Ich weiß nur nicht wo und wie.
Könnte mir bitte nochmal jemand helfen.
Vielen Dank für die Mühen.
Lg
Lifebiker
vielen Dank für den Tipp. Nur verläßt er auch bei folgendem Code das gefüllte Feld nicht.
if(Vorname.rawValue == null)app.alert("Bitte geben Sie alle Vornamen an.");xfa.host.setFocus("Vorname");
Ich habe das Gefühl, da gehört noch irgendwie ein return false oder ein return true hin. Ich weiß nur nicht wo und wie.
Könnte mir bitte nochmal jemand helfen.
Vielen Dank für die Mühen.
Lg
Lifebiker
Feld nach Überprüfung auf "leer", nicht verlassen
Hallo liebe Leute,
hier nun der funktionierende Code für das Problem.
if(Vorname.rawValue == null){app.alert("Bitte geben Sie alle Vornamen an.");xfa.host.setFocus("Vorname");};
Sinn ist: Feld bei exit überprüfen, ob Leer. Wenn Leer zeige Meldung und bleibe im Feld. Wenn Feld ausgefüllt, dann springe mit tab weiter.
Ich danke für die Unterstützung.
LG
Lifebiker
P.S. Achtet auf Details wie "{}" und "rawValue" mit großem V. Auch die Wirkung von ";" ist nicht zu unterschätzen...
hier nun der funktionierende Code für das Problem.
if(Vorname.rawValue == null){app.alert("Bitte geben Sie alle Vornamen an.");xfa.host.setFocus("Vorname");};
Sinn ist: Feld bei exit überprüfen, ob Leer. Wenn Leer zeige Meldung und bleibe im Feld. Wenn Feld ausgefüllt, dann springe mit tab weiter.
Ich danke für die Unterstützung.
LG
Lifebiker
P.S. Achtet auf Details wie "{}" und "rawValue" mit großem V. Auch die Wirkung von ";" ist nicht zu unterschätzen...

Feld nach Überprüfung auf "leer", nicht verlassen
Update:
Der Code funktioniert nur, wenn nicht gleich das nächste Feld mit dem gleichen "exit" ereignis belegt wird,weil:
Feld 1 wird bei exit überprüft ob es leer ist. beim exit ereignis hüpft der Cursor nur kurz in das nächste Feld2. In Feld 2 prüft er auch gleich den Inhalt, hat aber noch den Befehl. dass der Cursor in das Feld 1 springen soll, bringt aber auch die Meldung für Feld zwei. Also ist eine Endlosschleife mit zwei leeren Feldern entstanden.
Schaaaade. Habe leider keine Lösung
Wäre dankbar für Lösungsansätze.
Gruß
Lifebiker
Der Code funktioniert nur, wenn nicht gleich das nächste Feld mit dem gleichen "exit" ereignis belegt wird,weil:
Feld 1 wird bei exit überprüft ob es leer ist. beim exit ereignis hüpft der Cursor nur kurz in das nächste Feld2. In Feld 2 prüft er auch gleich den Inhalt, hat aber noch den Befehl. dass der Cursor in das Feld 1 springen soll, bringt aber auch die Meldung für Feld zwei. Also ist eine Endlosschleife mit zwei leeren Feldern entstanden.
Schaaaade. Habe leider keine Lösung
Wäre dankbar für Lösungsansätze.
Gruß
Lifebiker
Feld nach Überprüfung auf "leer", nicht verlassen
Hallo Lifebiker,
Nachfolgend habe ich einen Skript und eine Beispieldatei, die Ihr Problem vielleicht lösen.
gruß,
Walde
Nachfolgend habe ich einen Skript und eine Beispieldatei, die Ihr Problem vielleicht lösen.
Code: Alles auswählen
Formular1.#variables[0].Scripte - (JavaScript, client)
function NullTest(){
for (var i = 0; i < xfa.host.numPages; i++) {
var oFields = xfa.layout.pageContent(i, "field");
var nodesLength = oFields.length;
for (var j = 0; j < nodesLength; j++){
var oItem = oFields.item(j);
if(oItem.ui.oneOfChild.className != "button"){
if(oItem.rawValue == null | oItem.rawValue == ""){
app.alert(oItem.name + " ist nicht ausgefüllt");
xfa.host.setFocus(oItem);
break;
}
}
}
}
}
Walde
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.