Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

Hidden and Visible on Add Instance Object

shawnFMU
Level 3
Level 3

I have an object that will increase by one with an Add Instance button.

I have a check box that will toggle hidden/visible.

Only the first instance can be hidden/visible... why not the rest?

 

check box / click: 

if(this.rawValue == "1")
{

form1.P1.wrap.textfield2[*].presence = "hidden";

}

 

I tried to loop it:

if(this.rawValue == "1")
{
for (var i = 0; i < xfa.host.numPages; i++){var oSubform = xfa.resolveNode("form1.P1[" + i + "]");oSubform.wrap.textfield2.presence = "hidden";}
}

 

Help!

Thank you in advance

1 Accepted Solution
radzmar
Correct answer by
Level 10
Level 10

You're addressing the fields the wrong way. 

I' guessing that the subform "wrap" is the one, that contains the textfield and is going to be repeated, right?

The loop than should look this way: 

 

var cSel = this.rawValue,
	oFields = xfa.resolveNodes("form1.P1.wrap[*].textfield2"), // wrap[*] means every instance of the subfom wrap. 
	i;

for (i = 0; i < oFields.length; i += 1) {
	oFields.item(i).presence = cSel == "1" ? "visible" : "hidden";
}

 

View solution in original post

1 Reply
radzmar
Correct answer by
Level 10
Level 10

You're addressing the fields the wrong way. 

I' guessing that the subform "wrap" is the one, that contains the textfield and is going to be repeated, right?

The loop than should look this way: 

 

var cSel = this.rawValue,
	oFields = xfa.resolveNodes("form1.P1.wrap[*].textfield2"), // wrap[*] means every instance of the subfom wrap. 
	i;

for (i = 0; i < oFields.length; i += 1) {
	oFields.item(i).presence = cSel == "1" ? "visible" : "hidden";
}

 

View solution in original post

shawnFMU
Level 3
Level 3
Thank you, thank you radzmar. Once again you helped out so much!