Donnez vie à vos documents numériques !
 

Répondre à : Script pour afficher / masquer les boutons à la volée. – RÉSOLU

abracadabraPDF Forums PDF – Général Script pour afficher / masquer les boutons à la volée. – RÉSOLU Répondre à : Script pour afficher / masquer les boutons à la volée. – RÉSOLU

#52409
Merlin
Maître des clés

Je ne sais pas si Yorigami peut poster son document qui m’est parvenu en privé, pour nos autres lecteurs voici la solution proposée :

Les champs de formulaire sont nommés ainsi, pour utiliser la « Convention de dénomination » :

form111.1.Bouton.1, form111.1.Bouton.2, form111.1.Bouton.3, etc.
form111.2.Bouton.1, form111.2.Bouton.2, form111.2.Bouton.3, etc.
form111.3.Bouton.1, form111.3.Bouton.2, form111.3.Bouton.3, etc.

– Où form111 est la racine parente commune au document (choisie au hasard, il vaut mieux qu’elle soit différente pour chaque document, surtout s’ils sont susceptibles d’être ouverts en même temps),

– où form111.1, form111.2, etc. est la racine parente commune à chaque section,

– et où la suite est le petit nom de chaque bouton/masque.
C’est le type de structure de nom que l’on obtient quand on demande à « Placer plusieurs champs » (au clic-droit).

Le bouton réinitialisation de chaque section n’a qu’une seule ligne de script à exécuter, dans laquelle on s’adresse à la racine parente de la section, et donc à tous les éléments dont le nom commence par cette racine :

this.getField(« form111.1 »).display = display.visible;

==> La visibilité de tous les éléments dont le nom commence par « form111.1 » = visible

Le bouton de réinitialisation globale (Réinitialiser tout) fonctionne sur le même principe mais en ne s’adressant qu’à la première racine, celle du document :

this.getField(« form111 »).display = display.visible;

==> La visibilité de tous les éléments dont le nom commence par « form111 » = visible

Quand aux boutons/masques, ils ne contiennent chacun qu’une seule ligne de script dans laquelle on lui demande de se masquer lui-même, et c’est la même pour tous (on peut l’appliquer d’un seul coup d’un seul, soit avant la duplication de ces champs, soit après en les sélectionnant tous) :

event.target.display = display.hidden;

==> La visibilité de la cible de l’évènement utilisateur = masqué

:Smiley01: