Ein/Ausblenden von Objekten auf Masterseite

Ob nun dynamisch agierende Subformulare, oder einfach nur Textfelder...
Antworten
Tom
Beiträge: 61
Registriert: 21.08.2007, 13:54

Ein/Ausblenden von Objekten auf Masterseite

Beitrag von Tom » 09.07.2014, 19:22

Hi,

in meinem Formular möchte ich auf den Rücksteiten abwechselnd ein-/ausblenden eine Tabelle oder Textfeld. Füge ich eine neue Seite hinzu, so werden mir beide Elemente angezeigt auf der Rückseite. Die zuvor geschaltete Sichtbarkeit geht verloren bei den bereits vorhandenen Rückseiten.

Hat jemand einen Rat für mich.

Gruss Tom
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
radzmar
Beiträge: 961
Registriert: 26.10.2011, 10:18

Ein/Ausblenden von Objekten auf Masterseite

Beitrag von radzmar » 09.07.2014, 20:32

Sorry, ich versteh deine Beschreibung nicht.
Was sollte passieren und was passiert stattdessen?

Tom
Beiträge: 61
Registriert: 21.08.2007, 13:54

Ein/Ausblenden von Objekten auf Masterseite

Beitrag von Tom » 09.07.2014, 21:04

Mein Formular besteht aus mindestens zwei Blättern. Die Rückseiten sind gleich auf beiden Blätter(Textfeld, Tabelle, Button), nur die Vorderseiten sind unterschiedlich. Eines der beiden Objekte soll eingeblendet sein.

Beim Öffnen des Formulares soll die Tabelle eingeblendet sein, Textfeld ausgeblendet. Klappt. :)
Mittels des Button soll der User die Möglichkeit haben die Sichtbarkeit der beiden Objekte zusteuern. Beim ersten Anklicken klappt es, danach scheiter ich bereits.

Auf den Vorderseiten ist jeweils ein Button, um die Seite zu duplizieren. Nach Anklicken des Buttons sind Textfeld und Tabelle gemeinsam eingeblendet. Dies möchte ich nicht. Die jeweilige Sichtbarkeit soll so bleiben, wie der User es zuvor eingestellt hat. Auch wenn ein neues Blatt(Seite) hinzugefügt wird.

Ich hoffe, die Erklärung ist nun besser.

Benutzeravatar
radzmar
Beiträge: 961
Registriert: 26.10.2011, 10:18

Ein/Ausblenden von Objekten auf Masterseite

Beitrag von radzmar » 14.07.2014, 19:41

Also irgendwie fehlt deinem Formular ein Teil dessen, was Du steuern willst.
Es gibt weder eine Seite "P1back" noch "P2back", aber Skripte, die diese ansteuern und dementsprechend scheitern.
Dann hat die Schaltfläche auf deiner Rückseiten-Masterseite bislang gar kein Skript..., daher weiß ich nicht, wo genau du scheiterst, mit dem Ein-/Ausblenden von Textfeld und Tabelle.

Wenn Du noch ein ausgebauteres Formular hast, häng das bitte an, da ich nicht Stunden mit Raten verbringen will/kann.

Tom
Beiträge: 61
Registriert: 21.08.2007, 13:54

Ein/Ausblenden von Objekten auf Masterseite

Beitrag von Tom » 15.07.2014, 19:18

Nun habe ich mein Formular um einige Elemente erleichtert und kann es somit hier einstellen.

Die Rückseite für die Formulare Teil A und B ist auf einer Maserseite, die als Rückseite definiert ist. Jede Vorderseite bekommt diese Rückseite auf der entweder die Tabelle oder das Textfeld angezeigt wird. Beim Öffnen des Formulares soll auf dem ersten Blatt hinten die Tabelle sein und auf dem zweiten Blatt das Textfeld. Mittels des Button soll der User die Möglichkeit haben zuwechseln, zwischen Tabelle und Textfeld. Beim dritten Click wird beides angezeigt.

Unter den Ereignissen "click" und "docReady" habe ich meinen Code.
//hier die Seitenzahl abfragen unter docReady
var s = xfa.layout.page(this); //ich denke es liegt hieran!!! Da das Ergebnis immer Null ist
Hinzu kommt, wenn ich ein neues Blatt einfüge mit den Button auf der Vorderseite, werden Tabelle und Textfeld angezeigt. Das soll so nicht sein. Neues Blatt heißt auf der Rückseite anzeigen des Textfeldes.

Kann man den Button auf der 1. Rückseite auch ausblenden? Hier muss nix verändert werden. Nur auf den folgenden Rückseiten.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
radzmar
Beiträge: 961
Registriert: 26.10.2011, 10:18

Ein/Ausblenden von Objekten auf Masterseite

Beitrag von radzmar » 15.07.2014, 20:20

Also das Skript im Button der Rückseite hat einen entscheidenden Fehler, es referenziert keine Instanzen der Masterseiten, daher zielt es immer nur auf die 1. Instanz.

Wie ein sich wiederholendes Teilformular hat auch eine Masterseite einen Index, da sie ja auf diversen Seiten wiederholt werden kann.

Um nun mit deinem Button nur die aktuelle Instanz anzusprechen, solltest Du dein Skript wie folgt ändern:

Code: Alles auswählen

// i :		der Index der aktuellen Instanz dieser Masterseite
// vNode :	Referenz auf die aktuell aufgelöste Node
var i = this.parent.parent.index,
	vNode = xfa.resolveNode("Formular1.pageSet.Rückseite[" + i + "]");
//der User hat die Möglichkeit zuwechseln zwischen Textfeld und Tabelle
if (vNode.Zulagenverweis.presence == "visible") {
	vNode.Zulagenverweis.presence = "hidden";
	vNode.Tabelle1.presence = "visible";
	vNode.Button.caption.value.oneOfChild.value = "Tabelle"; //Beschriftung im Button ändern
} else {
	vNode.Zulagenverweis.presence = "visible";
	vNode.Tabelle1.presence = "hidden";
	vNode.Button.caption.value.oneOfChild.value = "Textfeld";
}
Dasselbe Prinzip musst Du dann anwenden, um die Tabelle nur auf der 1. Seite anzeigen zu lassen.

Damit Du dich bei den Indexen der Masterseiten besser orientieren kannst, leg dir mal auf jeder Masterseite ganz oben ein Textfeld an, das dir den SOM-Ausdruck der Masterseite anzeigt.
So würde das mit eine Zeile FormCalc aussehen.

Code: Alles auswählen

Formular1.Duplex.Rückseite.SOM::calculate - (FormCalc, client)

$ = Replace($.parent.somExpression, "[0]", "")

Tom
Beiträge: 61
Registriert: 21.08.2007, 13:54

Ein/Ausblenden von Objekten auf Masterseite

Beitrag von Tom » 15.07.2014, 21:23

Vielen Dank für deine Anwort. :)  Habe deine Code verwendet.

Klicke ich den Button auf der Rückseite mehrfach an, so erscheinen beim vierten Klick auf den Button Textfeld und Tabelle. Wie kann ich das Ändern?

Wenn ich ein neues Blatt hinzufüge(klick Button auf der Vorderseite) werden mir Textfeld und Tabelle angezeigt. Soll ja nicht sein, immer nur eins. Ambesten die Sichtbarkeiten auf den vorhandenen Rückseiten nicht ändern beim einfügen eines neuen Blattes.
Was mache ich da falsch?

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

Ein/Ausblenden von Objekten auf Masterseite

Beitrag von armine » 16.07.2014, 17:20

Hallo Tom,

ich denke, dein Ansatz ist das Problem. Nimmst du statt eines Buttons 2 Optionsfelder ist es mit dem Gezerre vorbei.

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

Firefox
Beiträge: 47
Registriert: 23.09.2015, 21:57

Ein/Ausblenden von Objekten auf Masterseite

Beitrag von Firefox » 20.09.2016, 05:07

Hallo radzmar,

ich verstehe den Ausdruck "SOM" nicht wirklich vollständig.

Was genau bedeutet SOM, vielleicht ein kurzes Bespiel?
Und was bedeutet demzufolge ein "verkürzter SOM Ausdruck" ?


Viele Grüße
Firefox

Antworten