Bei interaktiven Formularentwürfen ist es üblich, dass sich im Formular ein oder mehrere Abschnitte befinden, die erst angezeigt werden, wenn der Benutzer die Option zum Anzeigen dieser Abschnitte auswählt. LiveCycle Designer ES ermöglicht es Ihnen, eine Schaltfläche zusammen mit einem Skript hinzuzufügen, durch das ein bestimmter Abschnitt (Teilformular) dynamisch zum Formular hinzugefügt oder daraus entfernt wird, wenn der Benutzer auf die Schaltfläche klickt.
So können Benutzer im interaktiven Musterbestellformular beispielsweise auf die Schaltfläche „Kommentare hinzufügen“ klicken, um den Kommentarabschnitt (das Kommentar-Teilformular) aufzurufen. Die Schaltfläche verfügt über zwei verschiedene Beschriftungen, entweder zum Hinzufügen eines Kommentars oder zum Löschen eines Kommentars, die je nach aktuellem Status des Teilformulars wechseln. Bei jedem Klicken auf die Schaltfläche überprüft das Skript, ob das Kommentar-Teilformular angezeigt wird, und aktualisiert die Schaltflächenbeschriftung entsprechend.
Durch das Klicken auf die Schaltfläche wird ein Skript ausgelöst, das instanceManager verwendet (das Objekt des XML-Formularobjektmodells). Dieses Objekt verwaltet die Instanzerstellung, -entfernung und -verschiebung von Formularobjekten. Wenn der Endbenutzer das Kommentar-Teilformular löscht, entfernt das instanceManager-Objekt das Teilformular sowohl aus dem Formulardaten-DOM (Document Object Model) als auch aus dem Daten-DOM.
Beachten Sie, dass instanceManager vier Methoden verwendet: addInstance, removeInstance, moveInstance und setInstances. Die Namenskonvention von instanceManager lautet wie folgt: Teilformularname mit vorausgehendem Unterstrich (_Teilformularname). Die Syntax für instanceManager lautet _Teilformularname.Methodenname ().
Im interaktiven Musterbestellformular wurde vom Verfasser das folgende JavaScript-Skript im Skript-Editor unter Verwendung der Methode setInstances eingegeben, damit das Kommentar-Teilformular hinzugefügt bzw. entfernt und die Beschriftung der Schaltfläche angepasst wird. Beachten Sie, dass durch die Eigenschaft _comments.count == 0 die Anzahl der instantiierten Teilformularinstanzen zurückgegeben wird.
_comments.setInstances(1); // Add the comments subform.
this.resolveNode(“caption.value.#text”).value = “Clear Comments”; // Change the button’s caption.
}
_comments.setInstances(0); // Remove the comments subform.
this.resolveNode(“caption.value.#text”).value = “Add Comments”; // Change the button’s caption.
}

Schaltfläche zum Hinzufügen und Entfernen eines Abschnitts erstellen