Werte in ein Array schreiben und dann in Textfeld ausgeben

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
Spelmann
Beiträge: 11
Registriert: 26.05.2009, 20:59

Werte in ein Array schreiben und dann in Textfeld ausgeben

Beitrag von Spelmann » 11.06.2009, 22:47

Hallo, ich schon wieder.
So langsam sehe ich ein wenig Land im LCD, aber jetzt hänge ich mal wieder.
[line]Ich habe einige Checkboxen (Kontrollkästchen).
Wenn sie angehakt werden, soll eine Variable in ein Array geschrieben werden.

Code: Alles auswählen

 Formular1.tlf_1.termin_bogen_1::change - (JavaScript, client)
if(this.rawValue != 0){
    var hinweis[0] = "Di 28.07. von 14:00-16:00 Uhr";
    }else{
    var hinweis[0] = "";
    }
In einem Textfeld möchte ich dann das Array "hinweis" via Schleife ausgeben.
Erst einmal würde es mir aber reichen, wenn das wenigstens mit einem einzelnen Wert ohne Schleife funktionieren würde.
Denn folgendes Script auf dem Textfeld funktioniert nicht:

Code: Alles auswählen

Formular1.tlf_1.Textfeld1::validate - (JavaScript, client)
this.rawValue = hinweis[0]
Muss ich das Array vorher irgendwie deklarieren?
Für Hilfe, Anstösse und Korrekturen bin ich sehr dankbar


NACHTRAG
Alle Elemente befinden sich im selben Teilformular.
Das Dokument ist vom Typ "Dynamisch".

Spelmann
Beiträge: 11
Registriert: 26.05.2009, 20:59

Werte in ein Array schreiben und dann in Textfeld ausgeben

Beitrag von Spelmann » 11.06.2009, 23:09

O.K.
Wenn überhaupt ist es wohl besser so, obwohl mir die erste Variante lieber wäre

Code: Alles auswählen

 Formular1.tlf_1.termin_bogen_1::change - (JavaScript, client)
var hinweis = new Array();
if(this.rawValue != 0){
    hinweis.push("Di 28.07. von 14:00-16:00 Uhr");
    }
Funktioniert aber auch nicht

Spelmann
Beiträge: 11
Registriert: 26.05.2009, 20:59

Werte in ein Array schreiben und dann in Textfeld ausgeben

Beitrag von Spelmann » 12.06.2009, 15:13

GELÖST:
Die Annahme, daß die Variable in der Funktion der Checkbox in das Array geschrieben werden muss war falsch.

Zu folgender Lösung bin ich gekommen:
Array deklarieren über Datei -> Formulareigenschaften -> Variablen
hinweis = new Array()

Funktion auf dem Textfeld:

Code: Alles auswählen

if(termin_bogen_0.rawValue != 0){ hinweis[0] = "String Titel des Termins" }else{hinweis[0] = "" }
usw...
(Das Array sollte über eine Schleife gefüllt werden, ich weiß aber noch nicht, wie man auf die Feldbeschriftung für den String zugreift)

Um das Array dann in demTextfeld auszugeben, muss auf selbiges noch folgender Code:

Code: Alles auswählen

var kurse_gebucht = "";
for(var i = 0; i < 4; i++){
    if(hinweis[i] != ""){
        kurse_gebucht += (hinweis[i]+"n");
        }
    }
this.rawValue = kurse_gebucht;
Nur wenn die Variable hinweis[0] bzw. [1], [2] usw. einen Wert enthält, wird sie samt Zeilenumbruch in kurse_gebucht geschrieben.
Diese kann dann im Textfeld ausgegeben werden.
Wichtige Formatierung für das Textfeld: Mehrere Zeilen zulassen alleine reicht nicht. Unter Layout muss bei Höhe auch noch Passend erweitern angehakt werden.

Antworten