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

Avatar

Avatar

marcink-lwR9iu

Avatar

marcink-lwR9iu

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)

Avatar

Avatar

_Bruce_Robertson

MVP

Avatar

_Bruce_Robertson

MVP

_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)

Avatar

Avatar

marcink-lwR9iu

Avatar

marcink-lwR9iu

marcink-lwR9iu

08-11-2018

thanks for your answer, but xfa is the topmost node in xml based forms by default

Avatar

Avatar

radzmar

MVP

Avatar

radzmar

MVP

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