Expand my Community achievements bar.

Adobe Summit 2025: AEM Session Recordings Are Live! Missed a session or want to revisit your favorites? Watch the latest recordings now.

Mark Solution

This conversation has been locked due to inactivity. Please create a new post.

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";
}

 

Avatar

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