Seite 1 von 1
2 Listenfelder mit Namen füllen
Verfasst: 19.06.2009, 10:15
von AndreasRoe
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
2 Listenfelder mit Namen füllen
Verfasst: 20.06.2009, 10:31
von walde
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
2 Listenfelder mit Namen füllen
Verfasst: 20.06.2009, 12:51
von AndreasRoe
Hallo walde.
PHANTASTISCH ! Herzlichen Dank.
;o) Andreas
2 Listenfelder mit Namen füllen
Verfasst: 20.06.2009, 19:34
von walde
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
2 Listenfelder mit Namen füllen
Verfasst: 21.06.2009, 20:02
von AndreasRoe
Hallo walde.
Danke !
Andreas