abracadabraPDF › Forums › PDF – Général › Propriété d’un champ › Répondre à : Propriété d’un champ

Encore une fois l’expérience montre qu’il vaut mieux poster un exemple de ce qu’on veut obtenir que juste un script, du coup j’ai capté immédiatement comment simplifier.
Donc je ne sais pas pourquoi ton script ne fonctionne pas mais on s’en fiche.
En fait on peut simplifier le script et s’éviter bien des complications en utilisant la convention de dénomination des champs de formulaire (voir : https://www.abracadabrapdf.net/?p=525 ).
Au lieu de placer la référence au numéro de page avant le nom il faut la placer après et la séparer par un point, et ensuite placer la numérotation du champ dans la page après un autre point.
Ce qui nous donne :
question.P1.0
question.P1.1
question.P2.0
question.P2.1
etc.
Ainsi avec JavaScript pour par exemple modifier tous les champs “question” dans toutes les pages il suffit de s’adresser au champ parent “question“.
Et, autre exemple, pour modifier tous les champs “question” de la page 2 il suffit de s’adresser au champ parent “question.P2“.
Ce qui évite de devoir écrire des boucles et/ou de devoir détecter des caractères dans les noms des champs.
Ci-dessous le script que j’ai placé dans l’exemple ci-joint, je te laisse t’occuper des champs réponses.
function CoulQ() {
var Coul=this.getField("Menu.3").value;
if (Coul=="Aucune") {this.getField("question").fillColor = color.transparent;}
else if (Coul=="Jaune") {this.getField("question").fillColor = color.yellow;}
else if (Coul=="Vert") {this.getField("question").fillColor = color.green;}
else if (Coul=="Bleu") {this.getField("question").fillColor = color.blue;}
else if (Coul=="Rouge") {this.getField("question").fillColor = color.red;}
}