Acronaut Diskussions Forum Home

Freies User Forum für

ADOBE® ACROBAT®

Acronaut Diskussions Forum > Adobe Livecycle Designer > Dynamische Formulare > Tabellenzeilen (u.a. mit Unterschriftenfeld) hizufügen/löschen
Navigation
Nicht angemeldet

Login | Registrieren 

  

Suche

Erweiterte Suche

Newsletter

Mitgliederliste

Kalender

Moderatoren/Partner

Hilfe

Banner

Kontakt/Impressum
Tabellenzeilen (u.a. mit Unterschriftenfeld) hizufügen/löschen
 Moderiert von: WebZopp, Gentleman, FileAffairs, acronaut Produkt: Adobe LiveCycle Designer V9  

Neue Diskussion

Antworten

Drucken
VerfasserBericht
sanzann
Member


Eintragen seit: 1 Mai 2017
Herkunft: Leipzig
Berichte: 4
Status:  Offline
 Geschrieben: 19 Dez 2017 13:07

Text übernehmen

Antworten
Hallo an alle,

mal wieder das leidige Thema ein- und ausblenden bzw. Tabellenzeilen hinzufügen/löschen... Hier nun auch mein Problem.

Kurze Beschreibung meiner Kenntnisse:
Den LiveCycle Designer kenne ich erst seit April, ich denke aber dass ich mich mittlerweile ganz okay eingearbeitet habe (dieses Forum hat mir dabei sehr geholfen, Danke!), nach oben ist noch sehr viel Luft.
Mit JavaScript hatte ich vorher schon ein wenig zu tun, aber auch dort schätze ich es so ein, dass ich wahrscheinlich die Grundlagen weitestgehend verstanden habe, aber lichtjahre von dem Status "Erfahrener Anwender" entfernt bin.

Ausgangssituation (nur im Bezug auf die Tabellenzeilen, nicht von mir erstellt):
Ich habe ein Freigabeformular, bei dem bisher in den verschiedenen Tabellen die Zeilen ein- und ausgeblendet werden konnte. Das ging bisher ganz unproblematisch, indem für die gewünschten Zeilen die Option "Zeile für jedes Datenelement wiederholen" ausgewählt war und unter dem "+"-Button folgendes Skript ausgeführt wurde:
Dokumentation._Zeile1.addInstance(1);

(Dokumentation wurde dem jeweiligen Ort entsprechend ausgetauscht.)

und unter dem "-"-Button dieses:
_Zeile1.removeInstance(this.parent.index);

Anpassungen:
Die neue Anforderung an das Formular ist u.a., dass die einzelnen Zeilen digital unterschrieben werden können. Wenn ich die letzte Zelle der Zeile in ein Unterschriftsfeld umwandle erscheint die Warnung:
"Das Unterschriftsfeld kann nicht wiederholbar sein." (wenn möglich hänge ich das Bild "warnung.png" an, ggf. erstelle ich dazu einen zweiten Post...)

Bisherige Überlegungen:
I: "Sie können das Unterschriftsfeld aus dem Teilformular verschieben..." (Vorschlag von LCD)
Da ich definitiv mehrere Unterschriftenfelder benötige, habe ich diesen Vorschlag  als nicht zielführend verworfen.
II: "... oder im Formular eine Datenunterschrift verwenden." (Vorschlag von LCD)
Mit dem Begriff "Datenunterschrift" konnte ich nicht viel anfangen, sodass ich erst einmal andere Wege probieren wollte.

III: Meine Idee war es, dass ich einfach von Anfang an mehrere Tabellenzeilen einfüge, diese aber vorerst ausblende (und aus dem Layout ausschließe). Hierfür habe ich die Option "Zeile für jedes Datenelement wiederholen" deaktiviert.
Die Buttons sollten die nächste Zeile einblenden (+) bzw. die aktuelle Zeile ausblenden (-).
Die Zeilen heißen alle "Zeile1", sodass ich auf den jeweiligen Index zugreifen wollte.
Zum einblenden habe ich mir folgende Funktion überlegt und im click-Event des "+"-Buttons aufgerufen, wobei a_Button der jeweils aktuelle/angeklickte "+"-Button sein soll:
function Plus (a_Button){
    //var a_Button
    var a_Index = a_Button.parent.index; //aktueller Index
    var n_Index = a_Index + 1;           //nächster Index
    var ZeileName = "Zeile1[" + a_Index + "]";
   
    a_Button.resolveNode(ZeileName).presence = visible;
}
Funktioniert nicht. Der Debugger spuckt folgende Meldung aus:
Ausnahmefehler in Zeile 17 der Funktion Plus, Skript Doc:Init
Ausnahmefehler in Zeile 1 der Funktion oberste_Ebene, Skript XFA:Freigabe[0]: Page1[0]:Uebersicht[0]: Dokumentation[0]: Dokumentation[0]:Zeile1[0]:Schaltfläche2[0]:click



Die jeweilige Zeile auszublenden wollte ich folgendermaßen realisieren (click-Event "-"-Button):
this.parent.presence = hidden;

Weil das nicht funktioniert hat, wollte ich versuchsweise die 1. Zeile folgendermaßen ausblenden:
this.resolveNode("Freigabe.Page1.Uebersicht.Dokumentation.Dokumentation.Zeile1[0]").presence = hidden;

Das hat auch nicht funktioniert. Beide Varianten sind noch im Formular enthalten. Der Debugger spuckt folgende Meldung aus:
Ausnahmefehler in Zeile 3 der Funktion oberste_Ebene, Skript XFA:Freigabe[0]: Page1[0]:Uebersicht[0]: Dokumentation[0]: Dokumentation[0]:Zeile1[0]:Schaltfläche3[0]:click


Daher meine Frage: Kann mir einer von euch erklären, an welcher Stelle ich falsch denke? Oder ist das mit dem LCD nicht realsierbar? (Ich gehe grds. davon aus, dass das umsetzbar sein sollte...)

Abschließende Hinweise zur PDF:
  • Rumprobiert habe ich bisher in der Tabelle: "Freigabe.Page1.Uebersicht.Dokumentation.Dokumentation" (s. F_Freigabe_sanzann.pdf). Sobald es mit den ersten beiden Zeilen funktioniert, werde ich weitere Zeilen einfügen und das Skript entsprechend auf die anderen Tabellen übertragen.
  • Die lila Tabelle, die derzeit von Anfang an angezeigt wird, wird in der finalen Version zu Beginn ausgeblendet sein. (Dann ergibt auch das Skript zur Auswahlliste in der Kopfzeile wieder 100% Sinn, hoffe ich ;))
  • Die PDF ist meine derzeitige LCD-PDF, erweiterte Readerfunktionen sind noch nicht aktiviert, weil es noch nicht so funktioniert, wie ich es mir vorstelle.

An dieser Stelle auf jeden Fall schon einmal vielen Dank fürs durchlesen und ich freue mich schon auf Hinweise/Hilfestellungen ;)

Viele Grüße,
Sandra

Anlage: F_Freigabe_sanzann.pdf (15 Mal aufgenommen)

Letzte Änderung am 19 Dez 2017 13:08 von sanzann

sanzann
Member


Eintragen seit: 1 Mai 2017
Herkunft: Leipzig
Berichte: 4
Status:  Offline
 Geschrieben: 19 Dez 2017 13:08

Text übernehmen

Antworten
...hier noch die Warnung.

Anlage: warnung.png (21 Mal aufgenommen)

sanzann
Member


Eintragen seit: 1 Mai 2017
Herkunft: Leipzig
Berichte: 4
Status:  Offline
 Geschrieben: 27 Dez 2017 13:24

Text übernehmen

Antworten
Ein wenig Abstand hilft manchmal... Der gravierende Fehler ist, dass ich visible bzw. hidden natürlich in Anführungszeichen setzen muss!

Dementsprechend habe ich die Buttons jetzt folgendermaßen gestaltet:

Im click-Event des "+"-Buttons rufe ich meine Funktion "Plus" auf.
Scripte.Plus("Dokumentation", this);

Meine Funktion Plus:
function Plus(Abschnitt, Button) {
    nI = Button.parent.index + 1                   //nI = nächster Index
    nZ = Abschnitt + ".Zeile1[" + nI + "]";        //nZ = nächste Zeile
   
    xfa.resolveNode(nZ).presence = "visible";
}


Im click-Event des "-"-Buttons führe ich folgendes Skript aus:
this.parent.presence = "hidden";


Jetzt funktioniert es, so wie ich es mir vorgestellt habe. Verbesserungsvorschläge sind weiterhin willkommen! :)


 Uhrzeit 15:48





Powered by WowBB 1.7 - Copyright © 2003-2006 Aycan Gulez
Seite erstellt in 0.1046 Sekunden (38% DB + 62% PHP). 19 verarbeitete Abfragen.