Instanzen auf leeres Feld überprüfen

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
Benutzeravatar
Sheka777
Beiträge: 8
Registriert: 12.05.2011, 01:00

Instanzen auf leeres Feld überprüfen

Beitrag von Sheka777 » 12.12.2011, 00:27

Hallo Zusammen,

ich würde gerne die über Schaltflächen hinzugefügten Felder überprüfen. Wenn diese Felder leer sind, soll eine Meldung erscheinen und z.B. das Speichern nicht mehr möglich sein. Ich komme beim Count-Befehl und beim Loop nicht weiter, da ich dies auf Instanzen anwenden muss. Würde mich sehr freuen, wenn mir jemand hierbei etwas weiterhelfen könnte.

Viele Grüße
Sheka
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Instanzen auf leeres Feld überprüfen

Beitrag von armine » 12.12.2011, 11:34

Hallo Sheka,

abfragen geht. Speichern geht nicht, wenn nicht alle Instanzen ausgefüllt sind. Das Hintertürchen ^S ist versperrt, aber nicht der Weg über das Menue "Datei > Speichern unter".

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

Benutzeravatar
Sheka777
Beiträge: 8
Registriert: 12.05.2011, 01:00

Instanzen auf leeres Feld überprüfen

Beitrag von Sheka777 » 12.12.2011, 16:22

Vielen Dank Armine für die schnelle Hilfe, genau so habe ich es mir vorgestellt, Super. Eine winzige Ergänzung würde mich aber noch interessieren, wie muss ich den folgenden Befehl (siehe rot) richtig schreiben, damit ich die leeren Felder nach der Ausgabe des Msg-Box auf Mandatory="error" setze? Im Moment funktioniert dies leider nicht :(

var oCount = tab_land.row_land.instanceManager.count;

for(var i = 0; i < oCount; i++) {
    if (xfa.resolveNode("data.tf_main.tab_land.row_land[" + i + "]").dd_land.rawValue == null) {
       xfa.resolveNode("data.tf_main.tab_land.row_land[" + i + "]").dd_land.mandatory = "error";
    }
...


Grüßle,
Sheka

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Instanzen auf leeres Feld überprüfen

Beitrag von armine » 12.12.2011, 17:04

Hallo Sheka,

der Code, der die roten Ränder setzt:

[font=courier new]data.tf_main.btn_save::click - (JavaScript, client)

var j = 0
for(var i = 0; i < tab_land.row_land.instanceManager.count; i++) {
    if (xfa.resolveNode("data.tf_main.tab_land.row_land[" + i + "]").dd_land.rawValue == null) {
        xfa.resolveNode("data.tf_main.tab_land.row_land[" + i + "]").dd_land.mandatory = "error" ;
        j++
    }
}
if (j > 0) {
    xfa.host.messageBox("Sie haben " + j + " nicht Felder ausgefüllt!","Error", 1);
} else {
    app.execMenuItem("SaveAs");
}[/font]

Der Code, der sie wieder verschwinden läßt:

[font=courier new]data.tf_main.tab_land.row_land.dd_land::exit - (JavaScript, client)

this.validate.nullTest = "disabled"

[font=verdana]vg armine[/font]
[/font]

Benutzeravatar
Sheka777
Beiträge: 8
Registriert: 12.05.2011, 01:00

Instanzen auf leeres Feld überprüfen

Beitrag von Sheka777 » 12.12.2011, 18:43

So ählich habe ich es auch implementiert. Bei mir wird der rote Rahmen um die leeren Felder leider nicht angezeigt, deswegen habe ich gefragt ob der Code mit dem Mandatory korrekt ist. Hab mal das abgeänderte PDF angefügt, dann ist es evtl. einfacher zu erkennen wo es klemmt:)

Danke schon mal für die Mühe, finde es total Klasse, dass sich so viele Leute die Mühe machen und uns Änfängern helfen, Daumen hoch!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten