Skip to main content
Known Participant
March 22, 2019
Answered

Dropdown Options Resulting In Black Out Fields

  • March 22, 2019
  • 1 reply
  • 978 views

Hi I'm currently using Adobe Acrobat Pro.

I'm designing a PDF form with dropdown option field. Its contains 10 dropdown options. If a user selects 7 of the 10 option I need ["dropdown1", "dropdown2", "dropdown3",]; fields to be blacked out.

Can anyone please help me with a script?

This topic has been closed for replies.
Correct answer try67

The error is at (event.value==);


Yes, remove that line. It's remnant from an earlier version that I left in accidentally.

1 reply

try67
Community Expert
Community Expert
March 22, 2019

You can use something like this as the custom validation script:

var fields = ["dropdown1", "dropdown2", "dropdown3"]

for (var i in fields) {

    var f = this.getField(fields);

    f.readonly = (event.value=="7");

}

CiaranMHRAuthor
Known Participant
March 22, 2019

Thanks for getting back to me I tried the below script but there seems to be something wrong with it?

var fields = ["dropdown1", "dropdown2", "dropdown3"]

for (var i in fields) {

    var f = this.getField(fields);

    f.readonly = (event.value=="Ballygawley","Dungannon","Lurgan","Lurgan GIOS","Omagh-Cookstown Rd","Omagh-Drumquin Rd","Omagh-Gortrush Rd");

f.required = true;

f.fillColor = color.transparent;

f.readonly = false;

} else {

f.required = false;

f.fillColor = color.black;

f.readonly = true;

}

}

try67
Community Expert
Community Expert
March 22, 2019

Yeah, your condition is wrong. Use this instead:

var fields = ["dropdown1", "dropdown2", "dropdown3"]

var values = ["Ballygawley","Dungannon","Lurgan","Lurgan GIOS","Omagh-Cookstown Rd","Omagh-Drumquin Rd","Omagh-Gortrush Rd"];

for (var i in fields) {

    var f = this.getField(fields);

    if (values.indexOf(event.value)!=-1) {

        f.required = true;

        f.fillColor = color.transparent;

        f.readonly = false;

    } else {

        f.required = false;

        f.fillColor = color.black;

        f.readonly = true;

    }

}

Edit: code fixed