Skip to main content
Inspiring
July 8, 2022
Answered

Using a loop with switch event on text fields

  • July 8, 2022
  • 2 replies
  • 1079 views

Is is possible to apply a loop into one text field, instead entering the following custom validation script into each Employee 1 to 5 text fields that switch the AbsencePayTypeDesc 1 to 5 fields?  I've attached a simplified version of what I need but my actual PDF has 25 lines and it's a bit time consuming when I have to update it.  Any help would be greatly appreciated.  Thanks so much!

 

switch (event.value) {
case "Kerry":
var fields = ["AbsencePayTypeDesc1"];
for (var i in fields) this.getField(fields[i]).setItems([" ","Vacation (Kerry)","Sick (Kerry)"]);
break;
case "Derek":
var fields = ["AbsencePayTypeDesc1"];
for (var i in fields) this.getField(fields[i]).setItems([" ","Vacation (Derek)","Sick (Derek)"]);
break;}

 

 

This topic has been closed for replies.
Correct answer Nesa Nurani

As document level script use like this:

function setDropdowns(field){

switch (event.value) {
case "Kerry":
field.setItems([" ","Vacation (Kerry)","Sick (Kerry)"]);
break;
case "Derek":
field.setItems([" ","Vacation (Derek)","Sick (Derek)"]);
break;
default:
field.clearItems();}
}

Now just call a function in each field as validation script like this:

for first field:

setDropdowns(this.getField("AbsencePayTypeDesc1"));

for second:

setDropdowns(this.getField("AbsencePayTypeDesc2"));  ...etc

To set document level script select 'Prepare form' tool, click on 'More' then 'Document JavaScript', give script a name and click 'add' and paste script I gave you inside.

 

2 replies

Nesa Nurani
Community Expert
Nesa NuraniCommunity ExpertCorrect answer
Community Expert
July 8, 2022

As document level script use like this:

function setDropdowns(field){

switch (event.value) {
case "Kerry":
field.setItems([" ","Vacation (Kerry)","Sick (Kerry)"]);
break;
case "Derek":
field.setItems([" ","Vacation (Derek)","Sick (Derek)"]);
break;
default:
field.clearItems();}
}

Now just call a function in each field as validation script like this:

for first field:

setDropdowns(this.getField("AbsencePayTypeDesc1"));

for second:

setDropdowns(this.getField("AbsencePayTypeDesc2"));  ...etc

To set document level script select 'Prepare form' tool, click on 'More' then 'Document JavaScript', give script a name and click 'add' and paste script I gave you inside.

 

Inspiring
July 8, 2022

Thank you Nesa!!  That works beautifully!!

 

Bernd Alheit
Community Expert
Community Expert
July 8, 2022

You can use a function and the field name as parameter of the function.