xfa.resolveNode("xfa..someNode").rawValue returns null

marcink-lwR9iu

07-11-2018

Hi

if have like this structure, where there is only one instance each:

ParentSubform

     ChildSubform

          MyTextfield.rawValue = 99999

now, i try to get that value in ParentSubform::initialize event:

var value = xfa.resolveNode("xfa..ChildSubform").MyTextfield.rawValue;

console.println("vlaue: " + value); // null

console.println("value: " + ChildSubform.MyTextfield.rawValue); // 99999

did I misunderstand the resolveNode function?

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

_Bruce_Robertson

MVP

07-11-2018

The XFA object model is divided into a number of parts, the form is under xfa.form, the template under xfa.template, etc.  To use the descendent operator, the two dots ".." you have to say which model to look in.

Try

xfa.resolveNode("xfa.form..ChildSubform").MyTextfield.rawValue

or

using the shortcut

xfa.resolveNode("$form..ChildSubform").MyTextfield.rawValue

Answers (2)

Answers (2)

radzmar

MVP

07-11-2018

I think there is no form object in yout form named „xfa“, isn't it? I this way the result „null“ is correct.

The correct script should propably be:

this.resolveNode("ChildSubform.MyTextfield").rawValue

Here's a very good explaination of how the resolveNode() and resolveNodes() methods work: resolveNode vs. resolveNodes