Zum Hauptinhalt springen

đź› ALC-Designer: Leere Elemente im Formular ausblenden

Im Adobe LiveCycle Designer (kurz ALC-Designer) ist es möglich mit Hilfe von Skripten Elemente und sogar ganze Gruppen von Elemente auszublenden. Sind diese in einem Teilformular eingebettet, welcher auf Textfluss steht, so wird der dadurch freiwerdende Platzdurch die nachfolgenden Elemente aufgefüllt. Es schiebt sich also alles nach oben.

Formcalc-Code​

Als Sprache wird FormCalc gewählt. Die Ausführung immer für Client und Server einstellen.

Element ausblenden, wenn leer (HasValue)​

  1. Das auszublendende Element im ALC-Designer
  2. Als Ereignis entweder form:ready auswählen oder layout:ready (meist auf der Masterseite)
  3. Folgenden Code eingeben:
if (HasValue($) == 0) then
$.presence = "hidden"
endif
tip

Das funktioniert nur, wenn auch im Kontext eine Bedingung hinterlegt ist. Siehe hierzu Kontext Einstellung

  1. Speichern und Testen

Element ausblenden, wenn leer (Inhalt)​

  1. Das auszublendende Element im ALC-Designer

  2. Als Ereignis entweder form:ready auswählen oder layout:ready (meist auf der Masterseite)

  3. Folgenden Code eingeben

    1. fĂĽr nummerische Felder:
    if ($.rawValue == "0") then
    $.presence = "hidden"
    endif
    1. fĂĽr alphanummerische Felder:
    if ($.rawValue == "") then
    $.presence = "hidden"
    endif
  4. Speichern und Testen

tip

Das funktioniert nicht immer perfekt, weswegen die Variante mit HasValue vorzuziehen ist.

Teilformular mit mehreren Elementen ausblenden​

info

Hiermit kann ein Teilformular mit mehreren Elementen darin ausgeblendet werden. D.h. alle Elemente sind ausgeblendet.

  1. Das auszublendende Element im ALC-Designer
  2. Als Ereignis entweder form:ready auswählen oder layout:ready (meist auf der Masterseite)
  3. Folgenden Code eingeben:
if (HasValue($) == 0) then
$.parent.presence = "hidden"
endif
Achtung

Das Teilformular muss einen Namen haben, sonst könnte das Coding mit .parent auf eine noch höhere Ebene druchschlüpfen und weit mehr ausblenden als gewollt. Falsch:

Richtig

JavaScript-Code​

Element ausblenden​

if (this.isNull) {
this.presence = "hidden";
}

Teilformular mit mehreren Elementen ausblenden​

info

Hiermit kann ein Teilformular mit mehreren Elementen darin ausgeblendet werden. D.h. alle Elemente sind ausgeblendet.

  1. Vom Element zum darĂĽberliegenden Teilformular (Coding liegt am Element)
if (this.isNull) {
this.parent.presence = "hidden";
}

oder vom Teilformular auf das darunterliegende Element (Coding liegt am Teilformular)

if (this.ELEMENT.isNull) {
this.presence = "hidden";
}
Achtung

Das Teilformular muss einen Namen haben, sonst könnte das Coding mit .parent auf eine noch höhere Ebene druchschlüpfen und weit mehr ausblenden als gewollt. Falsch:

Richtig

Kontext Einstellung​

Wird das ausblenden von leeren Elementen mit der Variante mit HasValue

Unterschied zwischen invisible und hidden​

Zusammenrücken​

Besonderheiten in der Masterseite​

Letztes Update: 10.03.2022