Seite 1 von 1
Schleife für ein Objekt auf mehreren Seiten
Verfasst: 29.08.2010, 21:06
von Jonny252
Guten Abend,
mich beschäftigt schon den ganzen Tag ein Problem. Ich habe ein Formular mit mehreren Seiten. Auf Allen ist ein ganz normaler Text. Dieser Text soll per Script ausgeblendet werden. Momentan habe ich entsprechend für jede Seite die Anweisung:
Nicht sehr elegant, aber es funktioniert. Allerdings nur solange ich keine Instancen von Seiten erzeuge.
Nun möchte ich einfach per Schleife alle Seiten durchlaufen und das Textobjekt ausblenden. Leider seh ich momentan die einfache Lösung nicht. Hier im Forum gibt es ja einige Beispiel wie z.B. alle Felder gesperrt werden, aber ich schaffe einfach den Sprung zum Ansprechen eines Objektes auf allen Seiten nicht. Ich hoffe Ihr könnt mir einen kleinen Tip geben.
Anbei ein Testformular. Sobald neue Instanzen dabei sind, wird auf diesen der Text nicht entfernt.
Schleife für ein Objekt auf mehreren Seiten
Verfasst: 30.08.2010, 08:48
von nele_sonntag
Hallo jonny252,
es funktioniert mit den Skripten aus der Mustervorlage:
http://acronaut.de/forum44/1407.html
Du musst lediglich Dein statisches Textfeld durch ein "normales" Textfeld ersetzen. Dieses kannst Du ja auf "ohne Rand" und schreibgeschützt setzen, wenn Du ähnliche Eigenschaften, wie bei einem statischen TF haben möchtest.
Dann wird alles ausgeblendet, die Buttons allerdings auch. Weiß nicht, ob Du das möchtest?
LG einstweilen Mandy
Schleife für ein Objekt auf mehreren Seiten
Verfasst: 31.08.2010, 12:24
von Jonny252
Hallo Nele,
vielen Dank für deine Antwort. Das Script habe ich schon gefunden, aber eben weil ich ein statisches Textfeld habe, bisher ausgeschlossen. Dass die Buttons verschwinden ist nicht gewollt, könnte ich aber mit einer if-Anweisung umgehen.
Eigentlich möchte ich Seite für Seite durchgehen und den statischen Text löschen. Dafür würde sich ja eine Schleife anbieten, allerdings fehlt mir einfach der Punkt mit den Seiten.
So ungefähr:
Code: Alles auswählen
for(var i = 0, i<Dokumentlänge, i++) {
Seite i.Text1.presence="invisible";
}
Und genau an diesem Seite i scheiter ich momentan.
Schleife für ein Objekt auf mehreren Seiten
Verfasst: 31.08.2010, 13:21
von nele_sonntag
Die kompletten Seiten durchläufst Du mit:
Code: Alles auswählen
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++)
{
Anweisungsblock;
}
Bedeutet ja für die FOR-Schleife. Definiere Variable nPageCount, setze diese auf 0, damit die Schleife auf der 1. Seite beginnt und führe die Schleife solang aus, bis nPageCount kleiner ist als die gesamte Seitenzahl.
Kleiner deswegen. Wenn Dein PDF 3 Seiten hat, sprichst Du die 1. Seite mit 0 an, die 2. mit 1 ud die 3. mit 2, da der LCD bei der Seitenzählung immer bei 0 beginnt.
LG Mandy
Schleife für ein Objekt auf mehreren Seiten
Verfasst: 31.08.2010, 13:22
von nele_sonntag
numPages, siehe Bild.
Schleife für ein Objekt auf mehreren Seiten
Verfasst: 31.08.2010, 14:51
von Jonny252
Hier die Lösung:
Code: Alles auswählen
for(var nPageCount = 0 ; nPageCount < xfa.host.numPages; nPageCount++)
{
var oText = xfa.layout.pageContent(nPageCount,"draw");
var nodesLength = oText.length;
for (var i = 0; i<nodesLength;i++){
var oItem = oText.item(i);
if(oItem.name == "Text1") {
oItem.presence = "invisible";
}
}
}
Schleife für ein Objekt auf mehreren Seiten
Verfasst: 31.08.2010, 16:32
von nele_sonntag
Ja, super. Perfekte Teamarbeit

LG Mandy
Schleife für ein Objekt auf mehreren Seiten
Verfasst: 02.09.2010, 08:48
von Jonny252
Ja, super. Vielen Dank.