Seite 2 von 2

Schleife auf bestimmtes Teilformular begrenzen

Verfasst: 12.01.2012, 09:26
von radzmar
Das geht auch:

Code: Alles auswählen

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

Schleife auf bestimmtes Teilformular begrenzen

Verfasst: 12.01.2012, 13:21
von ZygmuntDD
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?