Schließen Script öffnet wieder Felder auf Masterseite

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
Julischka
Beiträge: 237
Registriert: 27.09.2009, 14:30

Schließen Script öffnet wieder Felder auf Masterseite

Beitrag von Julischka » 28.07.2014, 20:59

Hallo zusammen,
leider scheitere ich mal wieder an meinen nicht vorhandenen Skriptkenntnissen und brauche Eure Unterstützung.

Ich habe ein Formular, das aus zwei Teilen besteht. Die Kopfdaten liegen auf der Masterseite, die restlichen Daten die dann der Kunde ausfüllt auf der Seite1.

Nun habe ich zwei Buttons.
Button 1 soll auf der Masterseite die Felder sperren.
Button 2 soll auf der Seite1 alle Felder sperren.

Nun habe ich das Problem, dass beide Buttons eigentlich gut funktionieren.
Ich klicke auf den Button 1 und die Felder der Masterseite sperren sich wunderbar. Dann klicke ich auf Button2 und die Felder der Seite1 sperren sich, jedoch öffnen sich auch gleichzeitig die Felder der Masterseite wieder. Diese sollen aber geschlossen bleiben. Leider erkenne ich nicht den Fehler bei Button 2.




Hier die beiden Skripte:



Skript für Button 1: (Felder Masterseite sperren)

for (var i = 0; i < xfa.host.numPages; i++)
{
var oFields = xfa.resolveNode("#pageSet.Seite1.Textfeld").access = "protected";
var oFields = xfa.resolveNode("#pageSet.Seite1.Firma").access = "protected";
var oFields = xfa.resolveNode("#pageSet.Seite1.AP1").access = "protected";
var oFields = xfa.resolveNode("#pageSet.Seite1.Tel1").access = "protected";
var oFields = xfa.resolveNode("#pageSet.Seite1.Mail").access = "protected";

var oFields = xfa.resolveNode("#pageSet.Seite1.Mofu").access = "protected";


oFields.Textfeld.rawValue = this.rawValue;
}





Hier Skript aus Button 2: (Felder auf Seite1 sperren)

var nButton = app.alert({
cMsg: "Alle Felder werden gesperrt. \nBei Änderungen muss das Formular erst wieder entsperrt werden! )",
cTitle: "Assure HSC",
nIcon: 1, nType: 0
});




if ( nButton == 1 )
{
// Get the field containers from each page.
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
oFields.item(nNodeCount).access = "protected";
}
}


// save value of lock
Protect.rawValue = "0";


}
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;

for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
if (oFields.item(nNodeCount).ui.oneOfChild.className == "button") {
oFields.item(nNodeCount).presence="invisible"
}
}
}


Würde mich super dolle freuen wenn einer von Euch Skripteprofis mal draufschaut und mir sagen kann wo der Fehler liegt, bzw. das Skript so abändern kann, dass sich die Felder auf der Masterseite nicht wieder entlocken.

Freue mich über Antwort.
Liebe Grüße und schon mal Danke
Julischka

P.s.: falls eine Musterdatei benötigt wird, bitte Info, dann baue ich gerne eine.
[fontsize=5][/fontsize]

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Schließen Script öffnet wieder Felder auf Masterseite

Beitrag von nele_sonntag » 01.08.2014, 15:07

Hallo Julischka,
Muster ist immer von Vorteil, auch wenn man hie rund da schon die eine oder andere Ungereimtheit sieht, bspw.:

Code: Alles auswählen

oFields.Textfeld
LG Mandy

Julischka
Beiträge: 237
Registriert: 27.09.2009, 14:30

Schließen Script öffnet wieder Felder auf Masterseite

Beitrag von Julischka » 01.08.2014, 16:02

Hallo Nele,

danke für deine Antwort. Die Skripte sind überall zusammengeräubert und von mir gewurschtelt, sodass es irgendwie funktioniert. ... doch leider klappts wie man sieht nicht immer.

Was ein Muster ist, habe ich keine Ahnung.

Hast du vielleicht ein Skript mit einer Schleife, dass einfach standartmäßig alle Felder auf der Masterseite sowie auf allen anderen Seiten schließt?

Gibt es sowas?
Freue mich wie immer über eine Antwort.

Grüße Julischka

Antworten