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

Avatar

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

Avatar

Correct answer by
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

2 Replies

Avatar

Correct answer by
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";
}