Schleife auf bestimmtes Teilformular begrenzen

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Benutzeravatar
radzmar
Beiträge: 962
Registriert: 26.10.2011, 10:18

Schleife auf bestimmtes Teilformular begrenzen

Beitrag von radzmar » 12.01.2012, 09:26

Das geht auch:

Code: Alles auswählen

findNodes(xfa.resolveNode("xfa.form.Formular1.P1.Bedienen[" + i + "]"));

ZygmuntDD
Beiträge: 15
Registriert: 19.10.2011, 08:33

Schleife auf bestimmtes Teilformular begrenzen

Beitrag von ZygmuntDD » 12.01.2012, 13:21

So, vielen Dank nochmal an Radzmar für die Unterstützung, der Vollständigkeit halber hier noch mal der Code wie er bei mir jezt da steht und funktioniert.

Code: Alles auswählen

Formular1.P1.Bedienen.Einzelfunktionen.Zwischenergebnis.Berechnung::click - (JavaScript, client)

var nPoints = 0;
var maxPoints = 0;
        
function findNodes(vNode){
    if (vNode.className === "field") {
        if (vNode.name === "NumFeld") {
            nPoints += vNode.rawValue;
        }
        if (vNode.name === "MaxPoints") {
            maxPoints += vNode.rawValue;
        }
    }
    for (var i = 0; i < vNode.nodes.length; i++) {
        findNodes(vNode.nodes.item(i));
    }
}

var z  = Einzelfunktionen.instanceIndex; 
findNodes(xfa.resolveNode("xfa.form.Formular1.P1.Bedienen.Einzelfunktionen[" + z + "]"));
Ergebnis.rawValue = Math.round(nPoints/maxPoints*10000)/100 + " %";
Wichtig war noch, das es

Code: Alles auswählen

Einzelfunktionen.instanceIndex
und nicht einfach 

Code: Alles auswählen

Einzelfunktionen.index
wie bei FormCalc heißen muss.


@radzmae, könntest du mir vielleicht noch erklären warum es

Code: Alles auswählen

Einzelfunktionen[" + z + "]
heißen muss. Also warum dieser "merkwürdige" Syntax?

Antworten