My question is really twofold:
Can I pair heterogeneous field types (eg text and dropdown)?
Can I propagate to other fields a value entered in a field that is tied in a pairing?
BTW: I have no experience of scripts.
I have a complex form over several pages and I need to be able to display a particular field value from page 1 onto each of the subsequent pages of the form.
So far so good but the value to be propagated is specified in one of a pairing of mutually exclusive fields on page 1.
Is such propagation possible in these circumstances and if so how?
To complicate matters, the components of the field pairing are heterogeneous: one is a straight text field, the other a dropdown picking list.
The user must either manually enter a value in the text field or select a value from the dropdown list.
Ideally, I would like to propagate the value specified in whichever of the two fields into header fields on subsequent pages of the form.
Thank you for any help.
I'm not sure what you mean by "paired," but all fields have a "rawValue" that you can harvest to a different field.
For example, in a form we use at the bank, the name field is sent to a textfield in the master page to give each page a header with the customer's name.
xfa.resolveNode("Page1.tfHeader").rawValue = this.rawValue;
The master page holding tfHeader will take the value from tfName. Since it's on the Master page, it becomes the header for all pages.
Since you've got two different fields, you'll need some logic to determine which one you want to make the header. Maybe if there's nothing in the drop down, then use the value from the name field.
if (this.isNull) xfa.resolveNode("Page1.tfHeader").rawValue = this.rawValue;
else xfa.resolveNode("Page1.tfHeader").rawValue = tfName.rawValue;
If the value of a field is going to be the same in multiple locations on the form, it sounds like a candiate for global binding. Everywhere this field name occurs (field name must be exact), it will have the same value.
Or you could propegate the va,ue using script.