Seite 1 von 2
Werte hinter Checkbox zur Laufzeit in Textfeld schreiben
Verfasst: 18.03.2011, 12:58
von shaab
Hallo Zusammen,
ich habe ein PDF Dokument erstellt in dem man mehrere Checkboxen anklicken kann.
Der "An-Wert" ist immer eine Zahl (2; 2,5; 3...), der "Aus-Wert" ist 0.
Nun möchte ich das sobald ich eine Checkbox anklicke, dieser Wert (verrechnet mit z.B. 3 Checkboxen) in ein Textfeld geschrieben wird.
Wie kann ich das im LiveCycle Designer realisieren?
Danke,
Viele Grüße
Simon
Werte hinter Checkbox zur Laufzeit in Textfeld schreiben
Verfasst: 18.03.2011, 13:18
von nele_sonntag
Das geht ganz einfach.
In das CLICK-Ereignis Deines jeweiligen KKs folgendes Skript hinterlegen.
Code: Alles auswählen
TextField1.rawValue = CheckBox1.rawValue;
TextField1.rawValue = CheckBox2.rawValue;
LG Mandy
PS: Oder wolltest Du den Gesamtwert der KK in das Textfeld eintragen?
Werte hinter Checkbox zur Laufzeit in Textfeld schreiben
Verfasst: 18.03.2011, 13:44
von shaab
Ah Danke, hat geklappt.
Kleine Hürde wenn man nicht mit dem Syntax vertraut ist.
Verrechnet habe ich mehrere in jedem click event dann so
Code: Alles auswählen
TextField1.rawValue = CheckBox1.rawValue + CheckBox2.rawValue + CheckBox3.rawValue;
oder geht das eleganter?
Vielen Dank!
Gruß Simon
Werte hinter Checkbox zur Laufzeit in Textfeld schreiben
Verfasst: 18.03.2011, 13:54
von nele_sonntag
Nein, ist doch schon elegant
Wären es jetzt Unmengen von Feldern könnte man es per Schleife überprüfen, aber bei ein paar wenigen Feldern, würde ich meinen, das es so ok ist.
LG Mandy
Werte hinter Checkbox zur Laufzeit in Textfeld schreiben
Verfasst: 21.03.2011, 13:46
von shaab
Ich bekomme nun seltsame Ergebnisse beim Zusammenrechnen heraus.
z.B.: bei 6 Kontrollkästchen.
In jedem click-Event steht:
Code: Alles auswählen
txt_Soft.rawValue = chkb_1.rawValue + chkb_2.rawValue + chkb_3.rawValue + chkb_4.rawValue + chkb_5.rawValue + chkb_6.rawValue;
Als Ergebnis im Textfeld txt_Soft erhalte ich dann wenn z.B.: die ersten 3 angekreuzt sind: 111000, oder das erste und letzte 100001.
Die passierte von dem einen auf den anderen Moment, ich hatte nur beim Kontrollkästchen den An Wert von 1 auf 3 und wieder zurückgeändert...
An was könnte das liegen?
EDIT:
Beispiel Datei angefügt. Hinter den Kontrollkästchen sind verschiedene An-Werte die ich als Tage in dem Textfeld zusammenfassen will.
[fontsize=4][/fontsize][fontsize=3][/fontsize]
Werte hinter Checkbox zur Laufzeit in Textfeld schreiben
Verfasst: 22.03.2011, 07:45
von armine
Hallo shaab,
schade, dass du das PDF der Frage nicht beigepackt hast.
Erstens würde Zahlen nicht in einem Textfeld ausgeben und zweitens will ich Berechnungen in einem Feld anstellen und nicht bei jedem der Ausgangsfelder. Drittens muss man aufpassen, dass JS Zahlen ohne Müh’ und Not als solche erkennen kann.
Bei Dezimalzahlen in den KK habe ich kein Komma, sondern "decimal point" verwendet.
Die Berechnung habe ich in eine Schleife gelegt (Dezimalfeld1) und zur Demo auch einzeln aufaddiert (Dezimalfeld2).
Außerdem gibt es noch eine Ausgabe in einem Textfeld. Da muss man sich um die gewohnte Darstellung mit Komma selber kümmern.
Hilft das?
Gruß
armine
Werte hinter Checkbox zur Laufzeit in Textfeld schreiben
Verfasst: 22.03.2011, 07:48
von armine
Berichtigung: schade, dass du das PDF der Frage nicht gleich beigepackt hast.
armine
Werte hinter Checkbox zur Laufzeit in Textfeld schreiben
Verfasst: 22.03.2011, 08:18
von shaab
Super Danke das hat geholfen.

Weis zwar noch nicht 100% was einzeln gemacht wird, aber das wird schon.
[fontsize=1]
Ich wollte nun noch eine Dropdownliste hinzufügen, habe aber mit
Code: Alles auswählen
...[" + i + "]").rawValue) + xfa.resolveNode("dropdown_1").rawValue ; ...
[fontsize=1]wieder merkwürdige Ergebnisse bekommen.[/fontsize]
[fontsize=2]
EDIT: mom ich bin blöd hatte es in der for Schleife...
mit
Code: Alles auswählen
Summe = Summe + xfa.resolveNode("dropdown_1").rawValue ;
[fontsize=2]Nimmt er nun aber nicht den hinterlegten Wert sondern immer 03 statt 3, 01 statt 1...
Gruß Simon[/fontsize]
Werte hinter Checkbox zur Laufzeit in Textfeld schreiben
Verfasst: 22.03.2011, 08:43
von armine
Hallo Simon,
du musst allen KK den gleichen Namen geben. LCD vergibt dann die Indexnummer und über die werden die einzelnen KK in der Schleife angesprochen. Ausgewertet wird der beim KK (mit decimal point) hinterlegte Wert.
Was du machst, ist das Verketten von Strings.
Gruß
armine
Werte hinter Checkbox zur Laufzeit in Textfeld schreiben
Verfasst: 22.03.2011, 08:52
von shaab
Hallo Armine,
die DropDowns kann ich ja so aufnehmen wie die Kontrollkästchen, hatte ich gar nicht dran gedacht... funktioniert, Danke!
Gruß Simon