Hallo zusammen,
ich versuche zur Laufzeit mittels Javascript zu überprüfen, ob ein Field und ein Draw die setProperty Eigenschaft haben.
Laut XFA Spec ist diese Eigenschaft für beide möglich. Zum Test habe ich mal jeweils eine Datenbindung angelegt, um zu zeigen, dass mittels der setPropery Eigenschaft sowohl ins Field als auch ins Draw Werte geladen werden können.
Allerdings scheitere anschließend beim Zugriff auf die Eigenschaft beim Draw. Hat jemand eine Idee, wie das möglich sein könnte? Meine Methode ist offensichtlich die Falsche für Draws.
Ich benötige dies, um zur Laufzeit für alle Fields und Draws bestimmte Aktionen zu starten, die abhängig davon sind, ob die setProperty Eingeschaft vorhanden ist oder nicht.
Vielen lieben Dank im Vorraus!
Zugriff auf setProperty klappt nicht
Zugriff auf setProperty klappt nicht
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zugriff auf setProperty klappt nicht
Die setProperty-Eigenschaft wird nur im Template-DOM verarbeitet, also nichts zwangsläufig im Form-DOM abgebildet, anhand dessen das Formular letzlich gerendert wird.
Um das Vorhandensein zu überprüfen, musst Du daher auf das Objekt im Template verweisen.
Um das Vorhandensein zu überprüfen, musst Du daher auf das Objekt im Template verweisen.
Code: Alles auswählen
var vTarget = xfa.template.resolveNode("Formular1.page.Text1"),
vResult = false;
for (var i = 0; i < vTarget.nodes.length; i += 1) {
if (vTarget.nodes.item(i).className === "setProperty") {
vResult = true;
}
}
xfa.host.messageBox(vTarget.somExpression.concat("\nhat ").concat(vResult === true ? "die" : "keine" ).concat(" 'setProperty-Eigenschaft' gesetzt."));
Zugriff auf setProperty klappt nicht
Klasse! An das template DOM habe ich überhaupt nicht gedacht.
Besten Dank für die schnelle Hilfe samt Beispiel!!!
Besten Dank für die schnelle Hilfe samt Beispiel!!!
