Copy link to clipboard
Copied
I have an acrobat form with 2 pages. Page 1 is interview questions with open-ended text boxes to record responses and page 2 has more interview questions, but the possible responses are in dropdown boxes instead of open-ended textboxes. A dropdown on page 2 ('Type') currently has a keystroke event to reset the entire form. Once you change the selection on this 'Type' dropdown, the entire document is reset. The keystroke event is :
if (event.willCommit) this.resetForm()
I want to reset the dropboxes on page 2 only, but leave the textboxes on page 1 untouched. How do I do this in Javascript?
Copy link to clipboard
Copied
As parameter of resetForm you can specify names of form fields.
Copy link to clipboard
Copied
Inside an array, though. Like this:
this.resetForm(["Field1", "Field2", "Field5"]);
Copy link to clipboard
Copied
The code I am getting to run in the keystroke event is as follows:
if(event.willCommit) this.resetForm(["Dropdown.1"];
However, when I add more fields, such as dropdown2, etc, the code stops working. For example, this one is not working:
if(event.willCommit) this.resetForm(["Dropdown.1", "Dropdown.2"];
I even use hierarchical names to make the coding a bit easier, but no luck.
Copy link to clipboard
Copied
Strange. Check the JS Console for error messages.
Copy link to clipboard
Copied
I checked the console and it was OK. I figured it out however, thank you all so much. What happened was that I had other code on the form that was not completed properly, so it appeared as if the resetForm was not working, but it was working all along.
I had to add the following code to fix the problem:
else event.target.value = event.target.defaultValue;
Copy link to clipboard
Copied
OK, I was rechecking the form again and I have another issue. I fixed the ResetForm issue as I said before. However, the other code is still problematic. Based on the value of the 'Type' field, I have dropdown boxes that I want changed to N/A. For example, if the type is Company, I want a dropdown box that is N/A to Companies to have N/A on the dropdown box automatically selected. With the code below in the custom calculation event of those drop boxes, I am able to do that:
var drop2 = this.getField("Type").value;
if (drop2 <= "4") event.value = "N/A";
However, when I change the type from Company to Individual, for example, (which then triggers the ResetForm() function), the N/A stays in the dropdown box. I want to make it so that the N/A is cleared from the dropdown and I can now select the correct response from the dropdown.
Copy link to clipboard
Copied
You need to drop the quotes around "4" in your code...
Copy link to clipboard
Copied
This still gives the same result, unfortunately. I was thinking that I need an 'else' statement after my 'if' statement. I am not sure what that statement would look like to however that would cause the N/A to go back to the default value (which is blank) so that the user can choose their own selection for the dropdown.
Or maybe I need a validation script?
Copy link to clipboard
Copied
I still don't quite follow what you're trying to achieve here...
Copy link to clipboard
Copied
I can explain it with a user case.
You are completing the form and you Select 'Company' as the type of customer. By selecting 'Company', you essentially eliminate some of the dropdown boxes on the form becuase some dropdown boxes do not related to companies. I do this by making the event.value = "N/A" in the calculation event of those specific dropdown boxes that I want to disregard for 'Company' type. The code I used to change the dropdown box to 'N/A' is:
var drop2 = this.getField("Type").value;
if (drop2 <= 4) event.value = "N/A";
However, if when you are completing the form after you select 'Company' and you want to select 'Individual' as the new type instead, I have a ResetForm that triggers when you change the type. The code to reset is a custom keystroke event code on the 'Type' dropdown below:
if(event.willCommit) {
this.resetForm(["Dropdown"]);
}
This resets all of the dropdowns from that parent ("Dropdown") so that the user can enter new selections from the dropdown boxes.
The issue I have is that once I select a new type (change from 'Company' to 'Individual' etc), the dropdown boxes with the 1st code stays as 'N/A' and do not reset to their default value, but the dropboxes that do not have any code do reset to their default value.
Hope this helps.
Copy link to clipboard
Copied
The problem is the calculation script.
Copy link to clipboard
Copied
I can't see the closing ).