Copy link to clipboard
Copied
I am trying to get a field in a PDF form to equal the value of another field, but if that field is blank, then I want it to to equal the value of the next field.
For instance, what I have (that works for the first field provided data is entered):
event.value = this.getField("field1").valueAsString;
I need it to get data from another field IF field1 is blank, (for instance go to field2).
Any help would be greatly appreciated.
Copy link to clipboard
Copied
if(this.getField("field1").value)
{event.value=this.getField("field1").valueAsString}
else
{event.value=this.getField("field2").valueAsString}
Copy link to clipboard
Copied
If you have a lot of these fields you can also do it like this:
var fields = ["field1", "field2", "field3"];
event.value = "";
for (var i=0; i<fields.length; i++) {
if (this.getField(fields[i]).valueAsString!="") {
event.value = this.getField(fields[i]).valueAsString;
break;
}
}
Copy link to clipboard
Copied
if(this.getField("field1").value)
{event.value=this.getField("field1").valueAsString}
else
{event.value=this.getField("field2").valueAsString}
Copy link to clipboard
Copied
Thank you very much. This worked well, but I should have fully ellaborated my scenario. How could I continue this - for instance...if field2 is blank, get value for field3?
It's much appreciated!
Copy link to clipboard
Copied
if (this.getField("field1").valueAsString!="") {
event.value = this.getField("field1").valueAsString;
} else if (this.getField("field2").valueAsString!="") {
event.value = this.getField("field2").valueAsString;
} else if (this.getField("field3").valueAsString!="") {
event.value = this.getField("field3").valueAsString;
} // etc.
else event.value = "";
Copy link to clipboard
Copied
If you have a lot of these fields you can also do it like this:
var fields = ["field1", "field2", "field3"];
event.value = "";
for (var i=0; i<fields.length; i++) {
if (this.getField(fields[i]).valueAsString!="") {
event.value = this.getField(fields[i]).valueAsString;
break;
}
}
Copy link to clipboard
Copied
Thank you, this response worked perfect. Your 1st response may have an error somewhere as I could not get it to work.
Thanks again - I appreciate your time!
Copy link to clipboard
Copied
Both worked fine for me...
Copy link to clipboard
Copied
If all your fields are named in numerical order like this (field1, field2, etc.) and you want to populate the field with the first field in the order that is not blank you can use the following script:
for(var i=1; i<11; i++)
{
if(this.getField("field"+i).value)
{event.value=this.getField("field"+i).value; break;}
}
This is for 10 fields. Change the 11 to the number of fields to check, plus 1.

