Skip to main content
first.officer
Inspiring
December 20, 2021
Answered

Show or hide image fields based on text value in another field

  • December 20, 2021
  • 4 replies
  • 3054 views

Hi all,

 

Have an issue with attempting to get image fields to either become visible, or hidden - depending on the 3-letter text value that is entered in a field.

 

I have the fields name as follows;

 

"Leg1" - text in 3-letter format is entered here, e.g. "ERF", "PAD", "BCN" & "STN".

"Fuellleg1_1" - dsiplays an icon only

"Fuellleg1_2" - dsiplays an icon only

"Fuellleg1_3" - dsiplays an icon only

 

If the text of either/or "ERF", or "PAD" is entered in to the "Leg1" field, then the "Fuellleg1_1" field shoud be displayed in either/or case, and the "Fuellleg1_2" and "Fuellleg1_3" fields should be hidden.

 

If the text  "BCN" is entered in to the "Leg1" field, then the "Fuellleg1_2" field should be displayed, and the "Fuellleg1_1" and "Fuellleg1_3" fields should be hidden.

 

If the text  "STN" is entered in to the "Leg1" field, then the "Fuellleg1_3" field should be displayed, and the "Fuellleg1_1" and "Fuellleg1_2" fields should be hidden.

 

If there is no text , e.g. " " is entered in to the "Leg1" field, then the "Fuellleg1_1", "Fuellleg1_2" and "Fuellleg1_3" fields (i.e. all of the fields) should be hidden.

 

Any ideas? I've tried alas in various ways but to no effect....

This topic has been closed for replies.
Correct answer Thom Parker

As Bernd suggests, a validation script on the "Leg1" field is a good choice.

For example:

switch(event.value)
{
    case "PAD":
    case "ERF":
       this.getField("Fuellleg1_1").display = display.visible;
       this.getField("Fuellleg1_2").display = display.hidden;
       this.getField("Fuellleg1_3").display = display.hidden;
       break;
    case "BCN":
       this.getField("Fuellleg1_1").display = display.hidden;
       this.getField("Fuellleg1_2").display = display.visible;
       this.getField("Fuellleg1_3").display = display.hidden;
       break;
    case "STN":
       this.getField("Fuellleg1_1").display = display.hidden;
       this.getField("Fuellleg1_2").display = display.hidden;
       this.getField("Fuellleg1_3").display = display.visible;
       break;
    default:
       this.getField("Fuellleg1_1").display = display.hidden;
       this.getField("Fuellleg1_2").display = display.hidden;
       this.getField("Fuellleg1_3").display = display.hidden;
       break;
}

4 replies

Participant
May 12, 2024

Football 
Participant
May 12, 2024

Thom Parker
Community Expert
Thom ParkerCommunity ExpertCorrect answer
Community Expert
December 20, 2021

As Bernd suggests, a validation script on the "Leg1" field is a good choice.

For example:

switch(event.value)
{
    case "PAD":
    case "ERF":
       this.getField("Fuellleg1_1").display = display.visible;
       this.getField("Fuellleg1_2").display = display.hidden;
       this.getField("Fuellleg1_3").display = display.hidden;
       break;
    case "BCN":
       this.getField("Fuellleg1_1").display = display.hidden;
       this.getField("Fuellleg1_2").display = display.visible;
       this.getField("Fuellleg1_3").display = display.hidden;
       break;
    case "STN":
       this.getField("Fuellleg1_1").display = display.hidden;
       this.getField("Fuellleg1_2").display = display.hidden;
       this.getField("Fuellleg1_3").display = display.visible;
       break;
    default:
       this.getField("Fuellleg1_1").display = display.hidden;
       this.getField("Fuellleg1_2").display = display.hidden;
       this.getField("Fuellleg1_3").display = display.hidden;
       break;
}
Thom Parker - Software Developer at PDFScriptingUse the Acrobat JavaScript Reference early and often
first.officer
Inspiring
December 20, 2021

Thom/Bernd,

 

Thanks so much - I would never have been able to come up with that, beautiful! really appreciated, many thanks.

 

😉

Bernd Alheit
Community Expert
Community Expert
December 20, 2021

You can use a validation script at field "Leg1".