Copy link to clipboard
Copied
First I am a novice at best...but learning
I have a form that has a worksheet the user will complete prior to filling out the form. The worksheet is a series of 71 check boxes that will assign a category value...1, 2, or 3, and populate 1 or more text boxes with different instructions.
There are 15 discreet groups of category and text box combinations possible depending on which checkbox is selected.
Check boxes are named cbGroup1.1, cbGroup1.2....cbGroup15.1...
The function below is called from a mouseup event in the checkbox field.
function setText(){
if (this.getField('cbGroup1.3').value == 'Yes') {
this.getField('rptCategory').value = 'CATEGORY 1';
this.getField('rptInfo.1').value = 'Instruction one';
this.getField('rptInfo.1').display = display.visible;
this.getField('rptInfo.2').value = 'Instruction two';
this.getField('rptInfo.2').display = display.visible;
this.getField('rptInfo.3').value = 'Instruction three';
this.getField('rptInfo.3').display = display.visible;
this.getField('rptInfo.5').value = 'Instruction four';
this.getField('rptInfo.5').display = display.visible;
this.getField('rptInfo.6').value = 'Instruction five';
this.getField('rptInfo.6').display = display.visible;
this.getField('rptInfo.7').value = 'Instruction six';
this.getField('rptInfo.7').display = display.visible;
this.getField('rptInfo.9').value = 'Instruction seven';
this.getField('rptInfo.9').display = display.visible
};
if (this.getField('cbGroup1.3').value == 'Off') {
this.getField('rptCategory').value = '';
this.getField('rptInfo.1').value = '';
this.getField('rptInfo.1').display = display.hidden;
this.getField('rptInfo.2').value = '';
this.getField('rptInfo.2').display = display.hidden;
this.getField('rptInfo.3').value = '';
this.getField('rptInfo.3').display = display.hidden;
this.getField('rptInfo.4').value = '';
this.getField('rptInfo.4').display = display.hidden;
this.getField('rptInfo.5').value = '';
this.getField('rptInfo.5').display = display.hidden;
this.getField('rptInfo.6').value = '';
this.getField('rptInfo.6').display = display.hidden;
this.getField('rptInfo.7').value = '';
this.getField('rptInfo.7').display = display.hidden;
this.getField('rptInfo.8').value = '';
this.getField('rptInfo.8').display = display.hidden;
this.getField('rptInfo.9').value = '';
this.getField('rptInfo.9').display = display.hidden;
this.getField('rptInfo.10').value = '';
this.getField('rptInfo.10').display = display.hidden;
this.getField('rptInfo.11').value = '';
this.getField('rptInfo.11').display = display.hidden
};
}
With the above I would need over a 1000 lines of code to run this...Is there a better way to do this?
Copy link to clipboard
Copied
I would look at using a "for" loop. Since the field names are hierarchical you can use the ending ".#" as the control counter and compute the string for the field name. It would even be possible to create a variable object for the parent name and then use the "getArray()" method to create an array object that contains all the child field objects.
You can even write a function that will convert a number to the word for that number.
If you are using a mobile device the above approach most likely will not available since most mobile devices do not support all the features of Acrobat JavaScript.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now