2 Listenfelder mit Namen füllen

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
AndreasRoe
Beiträge: 30
Registriert: 02.06.2009, 15:23

2 Listenfelder mit Namen füllen

Beitrag von AndreasRoe » 19.06.2009, 10:15

Hallo.

Besteht die Möglichkeit die "VerteilerListe1" auf 10 Namen zu begrenzen und wenn ich dann über das Textfeld "TfplusName" einen weiteren Namen hinzufügen will 'Dieser' in die "VerteilerListe2" geschrieben wird?
 
Ist das wie möglich ?

Mit freundlichem Gruß
Andreas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

2 Listenfelder mit Namen füllen

Beitrag von walde » 20.06.2009, 10:31

Hallo AndreasRoe,

 

Ja, was Sie möchten ist machbar. Siehe nachfolgenden Code und die Beispieldatei.

Der Code sucht auf der 1. Seite nach allen Listenfeldern und nach der Anzahl darin enthaltener Werte. Wenn die Anzahl der Werte im jeweiligen Feld < 10 ist und der Wert noch in keinem Feld existiert, wird dieser dem Listenfeld hinzugefügt.

Code: Alles auswählen

Formular1.#subform[0].Schaltfläche1::click - (JavaScript, client)

var TextRaw = Textfeld1.rawValue;

Scripte.sListfield(TextRaw);

Formular1.#variables[0].Scripte - (JavaScript, client)

function sListfield(newVal){



var oFields = xfa.layout.pageContent(0, "field");

var nodesLength = oFields.length;

var found = false;



for (var i = 0; i < nodesLength; i++){



var oItem = oFields.item(i);



if(oItem.ui.oneOfChild.className == "choiceList" & !found){



var oItemitems = oItem.items.nodes.length;

var result = "";



for (var j = 0; j < oItemitems; j++){



if(oItem.items.nodes.item(j).value == newVal){

found = true;

break;

}

result = j+1;

}

if(result < 10 & !found){

oItem.addItem(newVal);

break;

}

}

}

}
 

gruß,

 

Walde
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

AndreasRoe
Beiträge: 30
Registriert: 02.06.2009, 15:23

2 Listenfelder mit Namen füllen

Beitrag von AndreasRoe » 20.06.2009, 12:51

Hallo walde.


PHANTASTISCH !  Herzlichen Dank.

;o)  Andreas

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

2 Listenfelder mit Namen füllen

Beitrag von walde » 20.06.2009, 19:34

Sorry AndreasRoe,

 

Habe einen Fehler im Skript gefunden. Das Skript fügt auch Werte ein, obwohl diese im 2. bzw 3. ListenFeld bereits vorhanden sind. Das Gute an Fehlern ist, dass man diese korrigieren kann.

Neuer Script und neue Beispieldatei.

Code: Alles auswählen

Formular1.#subform[0].Schaltfläche1::click - (JavaScript, client)
var TextRaw = Textfeld1.rawValue;
Scripte.sListfield(TextRaw);


Formular1.#variables[0].Scripte - (JavaScript, client)
function sListfield(newVal){
var oFields = xfa.layout.pageContent(0, "field");
var nodesLength = oFields.length;
var found = TestChoiseListVal(newVal);
for (var i = 0; i < nodesLength; i++){
var oItem = oFields.item(i);
if(oItem.ui.oneOfChild.className == "choiceList" & !found){
var j = "";
for (j = 0; j < oItem.items.nodes.length; j++){
}
if(j < 10 & !found){
oItem.addItem(newVal);
break;
}
}
}
}

function TestChoiseListVal(newVal){
var oFields = xfa.layout.pageContent(0, "field");
var nodesLength = oFields.length;
var found = false;

for (var i = 0; i < nodesLength; i++){
var oItem = oFields.item(i);
if(oItem.ui.oneOfChild.className == "choiceList" & !found){
for (var j = 0; j < oItem.items.nodes.length; j++){
if(oItem.items.nodes.item(j).value == newVal){
found = true;
break;
}
}
}
}
return found;
}
 

Gruß,

 

Walde
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

AndreasRoe
Beiträge: 30
Registriert: 02.06.2009, 15:23

2 Listenfelder mit Namen füllen

Beitrag von AndreasRoe » 21.06.2009, 20:02

Hallo walde.

Danke !


Andreas

Antworten