Donnez vie à vos documents numériques !
 

Répondre à : Liste déroulante en lien avec un champ ou une autre liste déroulante

abracadabraPDF Forums PDF – Général Liste déroulante en lien avec un champ ou une autre liste déroulante Répondre à : Liste déroulante en lien avec un champ ou une autre liste déroulante

#68237
Merlin
Maître des clés

Pour les listes déroulantes il faut utiliser le “Script de touche perso”. Ça c’est bon.
Là où ça cloche c’est que tu utilises value : c’est la valeur du champ, celle qui était déjà enregistré avant qu’on clique dessus (d’où le temps de retard).
Dans les champs liste déroulante et zone de liste il faut utiliser changeEx qui représente la valeur en cours d’évènement :
https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/Acro12_MasterBook/JS_API_AcroJS/event_properties.htm?rhhlterm=willcommit&rhsyns=%20#XREF_64007_changeEx

En plus il faut protéger le tout avec willCommit pour éviter que le script ne tourne à vide :
https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/Acro12_MasterBook/JS_API_AcroJS/event_properties.htm?rhhlterm=willcommit&rhsyns=%20#XREF_47823_willCommit

Ce qui nous donne ce script, auquel j’ai ajouté le else pour que les champs reviennent à l’état précédent si l’utilisateur change d’avis (non testé) :

if (!event.willCommit) {
if (event.changeEx == “BE”) {
this.getField(“Dropdown2”).display = display.visible;
this.getField(“Dropdown3”).display = display.hidden;
this.getField(“Dropdown4”).display = display.hidden;
}
else {
this.getField(“Dropdown2”).display = display.hidden;
this.getField(“Dropdown3”).display = display.visible;
this.getField(“Dropdown4”).display = display.visible;
}

}