Objekteigenschaften und -werte referenzieren

Für die Referenz-Syntax, über die Sie auf Objekteigenschaften und -werte zugreifen bzw. diese ändern, stehen zwei Varianten zur Auswahl:

Vollständig qualifiziert
Die Referenzsyntax enthält die gesamte Objekthierarchie, angefangen mit der Stamm-Node xfa. Die vollständig qualifizierte Syntax greift präzise auf die Eigenschaft oder den Wert eines Objekts zu, unabhängig davon, wo sich die Berechnung oder das Skript befindet, die bzw. das die Referenz-Syntax enthält.

Abgekürzt
Die Referenz-Syntax ist entweder wegen der relativen Position der Berechnung oder des Skripts, die bzw. das die Referenz-Syntax und die Objektsyntaxreferenzen enthält, abgekürzt, oder weil Kurzbefehle verwendet werden. Eine abgekürzte Referenz-Syntax lässt sich zwar schneller erstellen, sie hat aber auch den Nachteil, dass sie nur so lange funktioniert, wie die Position der Objekte im Verhältnis zueinander unverändert bleibt.

In der folgenden Abbildung wird die Hierarchie eines Musterbestellformulars dargestellt.

Die Abbildung zeigt eine vollständig qualifizierte Referenzsyntax für FormCalc und JavaScript, die zum Zugriff auf den Wert des Feldes txtCondition dient. Diese Referenz-Syntax könnte als Teil einer Berechnung oder eines Skriptes für ein beliebiges Objekt des Formulars eingesetzt werden.

A.
Stamm-Node

B.
Modell

C.
Stamm-Node des Formularentwurfs

D.
Seitenobjekt

E.
Name des Teilformulars

F.
Objektname

G.
Name der Eigenschaft oder Methode

Hinweis: Obwohl die Referenz-Syntax sowohl von FormCalc als auch von JavaScript verwendet wird, müssen Sie die für die beiden Skriptsprachen geltenden Konventionen beachten. Beispielsweise kann die im obigen Beispiel angegebene Referenzsyntax ohne Änderungen in FormCalc eingesetzt werden. Für JavaScript müssten Sie jedoch ein Semikolon (;) am Ende einfügen.

Wenn sich zwei Objekte im selben Container befinden, z.B. in einem Teilformular, haben sie denselben Kontext. Wenn Objekte in demselben Kontext vorkommen, können Sie eine abgekürzte Referenz-Syntax verwenden, die sich nur aus dem Namen des Objekts gefolgt von der Eigenschaft oder Methode, auf die Sie zugreifen möchten, zusammensetzt. Beim obigen Beispiel würde die folgende abgekürzte Referenzsyntax auf den Wert des Feldes txtCondition in allen Feldern des Teilformulars total zugreifen:

    txtCondition.rawValue

Wenn sich zwei Objekte in unterschiedlichen Containern befinden, haben sie nicht denselben Kontext. In diesem Fall können Sie zwar ein abgekürzte Referenz-Syntax verwenden, aber die Syntax muss mit dem Namen des obersten Container-Objekts beginnen, welches die beiden Objekte nicht gemein haben. Bei der obigen Hierarchie würde die folgende abgekürzte Referenzsyntax auf den Wert des Feldes address vom Feld txtCondition aus zugreifen:

    header.address.rawValue

Aufgrund der Struktur des XML Form Object Model treten einige Objekteigenschaften und -methoden bei untergeordneten Objekten der Objekte im Formular auf. Diese untergeordneten Objekte kommen nur als Teil des XML-Formularobjektmodells und nicht in den beiden Paletten „Hierarchie“ und „Datenansicht“ vor. Wenn Sie auf diese Eigenschaften und Methoden zugreifen möchten, müssen Sie die untergeordneten Objekte in die Referenz-Syntax einschließen. Beispielsweise wird über die folgende Referenzsyntax die QuickInfo für das Feld txtCondition festgelegt:

    txtCondition.assist.toolTip.value = "Conditions of purchase."  // FormCalc 
    txtCondition.assist.toolTip.value = "Conditions of purchase."; // JavaScript

Weitere Informationen zu den Objekten und zur Objektstruktur des XML Form Object Models finden Sie in der Skriptreferenz.