Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Hide and Unhide form controls with the click of a button

New Here ,
Sep 11, 2020 Sep 11, 2020

I have a PDF form that has 5 lines. 4 of those 5 lines are hidden. If the user wants to add a line, I would like them to click on the button that says "add line". When the user clicks on the button, a new form controls is visable. Right now I have the 5 form controls in the form and 4 of them are hidden. I'm just not sure what the javascript is to allow 1 button to be clicked multiple times to do the same action. Can someone help me with this please?

TOPICS
Acrobat SDK and JavaScript
1.9K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 14, 2020 Sep 14, 2020

Basically, I'm looking for code, that when pressed, it adds a drop down and text box. Then when that same button is clicked again, another drop down and text box is added. Then is the same button is clicked for a third time, another drop down and text box is added. So on and so forth. Any help would be greatly appreciated.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Sep 14, 2020 Sep 14, 2020

Wouldn't be easier to already have dropdown and text box there and just show/hide them when button is pressed?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 14, 2020 Sep 14, 2020

that is how I currently have it setup but I need them to show up when the button is clicked on, one by one. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 14, 2020 Sep 14, 2020

Let's say the fields are called Text1 to Text5. You can use this code as the Mouse Up event of your button field to show the next one that's hidden:

 

for (var i=1; i<=5; i++) {
	var f = this.getField("Text"+i);
	if (f.display==display.hidden) {
		f.display = display.visible;
		break;
	}
}
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 14, 2020 Sep 14, 2020

Thank you for the reponse.

I entered this into the file and it does not seem to be working...

I changed the texted field to what my headers are labeled. I also have 2 things that need to be unhidden on each click. 1 is a drop down and 1 is a text box, both form fields.

 

Button Code.PNGexpand imageButton Up Setting.PNGexpand image

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 14, 2020 Sep 14, 2020

So in what way is it not working? Are there error messages in the JS Console?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 14, 2020 Sep 14, 2020

No errors in the JS Console. It did not work for the remaining 3 lines. It worked for the first two lines but not the remaining 3 lines. I tried to duplicate it in the same window but that did not work either.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 14, 2020 Sep 14, 2020

I'll need to see the file to be able to help you further with this.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 14, 2020 Sep 14, 2020

Code is working you just didn't use it right, for start don't use same var name for both fields like that.
You also need to name your fields like this:
MachineType1.0.0.1, MachineType1.0.0.2, MachineType1.0.0.3, MachineType1.0.0.4, MachineType1.0.0.5
Quantity1.1, Quantity1.2, Quantity1.3, Quantity1.4, Quantity1.5
Then you can use try67 code like this:

for (var i=1; i<=5; i++){
var f = this.getField("MachineType1.0.0."+i);
var g = this.getField("Quantity1."+i)
if (f.display==display.hidden){
f.display = display.visible;
if (g.display==display.hidden)
g.display = display.visible;
break;
}
}

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 14, 2020 Sep 14, 2020

Yes, probably a lot of user error as I'm very new to this. I have my fields names exactly how you have them listed. Would I copy this code multiple times for each row?(i.e. MachineType1.0.0.2 and Quantity1.2 then MachineType1.0.0.3 and Quantity1.3)

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 14, 2020 Sep 14, 2020

No, that's what the for-loop is for...

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 14, 2020 Sep 14, 2020

You put that code in button field as MouseUp event.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 14, 2020 Sep 14, 2020

machinetypelist.PNGexpand imageButton Code.PNGexpand imageButton Up Setting.PNGexpand image

I took out the mouse down option and when I preview it to test, it does not show the next line. If I add a mouse down to show hidden, it will only do the second line and nothing more. I'm sure I have something wrong somewhere.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 14, 2020 Sep 14, 2020

Why do you keep changing field names in code? Don't put "MachineType1.0.0.2" leave it as"MachineType1.0.0." and leave quantity as "Quantity1."

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 15, 2020 Sep 15, 2020
LATEST

That was it. Thank you!!!!! Thank you!!!!

 

Thank you Try67 and NesaNurani!!!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines