abracadabraPDF › Forums › PDF – Général › Afficher/masquer des listes conditionnelles
- Ce sujet est vide.
- CréateurSujet
- 3 mai 2015 à 14:53 #45144HiramParticipant
Bonjour,
Dans un formulaire, [font=verdana, arial, helvetica, sans-serif]à l’aide des actions (activé/désactivé) de boutons radio qui se trouvent sur la première page, j’affiche ou j’efface des listes différentes qui se trouvent sur une autre page. (selon le choix de la première page les questions ne sont pas les mêmes)[/font]
ça marche très bien, sauf que dès que je clique ailleurs sur la page ou que je change de page, la liste qui était affichée disparaît.
comment éviter cela ?
merci d’avance.
- CréateurSujet
- AuteurRéponses
- 3 mai 2015 à 19:42 #58877MerlinMaître des clés
Bonjour et bienvenue.
En fait je ne comprend pas la question…
Quelle liste ?
:Euuuh:Peux tu poster un exemple ?
4 mai 2015 à 05:14 #58878HiramParticipantBonjour et merci pour votre aide.
Vous trouverez un exemple en fichier joint.
En fait, en plus de faire apparaître la liste correspondant au choix, j’aimerais que les zones de saisie associées ne soient présentées qu’en fonction du nombre de postes.
4 mai 2015 à 10:55 #58879alexParticipantLes commandes d’affichage/masquage de champs sont assez pratiques pour de petits formulaires mais rapidement illisibles et sources de conflits lorsque le nombre de commandes croît.
Je vous conseille le JavaScript. A titre d’exemple j’ai écrit un script unique associé aux occurrences du bouton radio “Group1” auxquelles j’ai associé la fonction affichage() suivante:
function affichage()
{
//masquer les champs associés
console.clear();
this.getField(“RER”).display=display.hidden;
this.getField(“REAA”).display=display.hidden;
this.getField(“RF”).display=display.hidden;
this.getField(“RE”).display=display.hidden;
this.getField(“RSE”).display=display.hidden;
this.getField(“RY”).display=display.hidden;
//noter la valeur d’export du bouton radio Group1
ckaction=this.event.target.name;
valeur=this.event.target.value;
console.println(“Selection de “+ckaction+” avec pour valeur :”+valeur);
//Afficher le champ.
this.getField(valeur).display=display.visible;
}
Voir maquette.4 mai 2015 à 11:33 #58880HiramParticipantBonjour Alex,
ça marche effectivement beaucoup mieux.
par contre je n’ai pas trouvé l’endroit où il faut saisir ce script.
Désolé, je démarre avec les formulaires PDF.
6 mai 2015 à 05:15 #58881HiramParticipantBonjour,
J’ai beau chercher dans tout le document, je ne trouve pas où il faut saisir ce script.
Dans les boutons radio “group1” il n’y a que “function affichage()”
où se trouve le reste du script ?
merci de votre aide.
6 mai 2015 à 08:27 #58882MerlinMaître des clésBonjour.
Dans le bouton il n’y a que l’appel au script, qui est un Script de document.
Voir paragraphe 3 sur cette page : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/Si tu débutes il faut aussi absolument que tu lises ceci : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/lordre-dexecution-des-evenements-dans-les-champs-de-formulaire-pdf/
:Smiley15:
6 mai 2015 à 09:01 #58883HiramParticipantBonjour Merlin,
merci de ta réponse.
en fait je me doutais bien que cela devait se trouver quelque part , mais la console JAVASCRIPT n’était pas activé dans mon document ce qui fait que je ne trouvais pas où écrire ce script.
en cherchant sur le net j’ai fini par découvrir le mode d’activation de la console.
je vais lire le document que tu me conseilles.
merci.
6 mai 2015 à 11:57 #58884MerlinMaître des clésL’activation de la Console n’a rien à voir avec les Scripts de document. :Smiley03:
Pour tout savoir sur la Console : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/console-javascript-d-acrobat/
:Smiley15:27 octobre 2016 à 07:56 #58885philousebMembreLes commandes d’affichage/masquage de champs sont assez pratiques pour de petits formulaires mais rapidement illisibles et sources de conflits lorsque le nombre de commandes croît.
Je vous conseille le JavaScript. A titre d’exemple j’ai écrit un script unique associé aux occurrences du bouton radio “Group1” auxquelles j’ai associé la fonction affichage() suivante:
function affichage()
{
//masquer les champs associés
console.clear();
this.getField(“RER”).display=display.hidden;
this.getField(“REAA”).display=display.hidden;
this.getField(“RF”).display=display.hidden;
this.getField(“RE”).display=display.hidden;
this.getField(“RSE”).display=display.hidden;
this.getField(“RY”).display=display.hidden;
//noter la valeur d’export du bouton radio Group1
ckaction=this.event.target.name;
valeur=this.event.target.value;
console.println(“Selection de “+ckaction+” avec pour valeur :”+valeur);
//Afficher le champ.
this.getField(valeur).display=display.visible;
}
Voir maquette.Bonjour,
je remonte ce sujet, car j’ai un problème presque identique, la différence c’est qu’en cliquant sur un bouton radio je dois afficher plusieurs champs et qu’en cliquant sur un autre bouton radio du même groupe en faire afficher d’autres et masquer ceux qui étaient affichés…
J’ai essayé avec la fonction intégré à Acrobat “afficher/masquer” cela prend du temps mais cela fonctionnait jusqu’à que j’arrive au 80 ème champs les suivants ne sont pas pris en compte, je suis arrivé au maximum.
En te remerciant d’avance
Philippe27 octobre 2016 à 08:59 #58886MerlinMaître des clésHeeuuu…
Quelle est la question ?
:Euuuh:27 octobre 2016 à 09:06 #58887philousebMembreBonjour Merlin,
Ma question est la suivante : comment avec un bouton radio coché faire apparaitre plusieurs champs et les faire disparaitre en cochant un autre bouton radio du même groupe qui en fera apparaitre d’autres ?
Le code ci-dessous est intéressant mais je n’arrive pas à l’adapter pour qu’il affiche et fasse disparaitre plusieurs champs (il ne le fait que sur 1 seule champs).
Merci
27 octobre 2016 à 09:26 #58888MerlinMaître des clésJ’ai essayé avec la fonction intégré à Acrobat “afficher/masquer” cela prend du temps mais cela fonctionnait jusqu’à que j’arrive au 80e champ
Waou. Quel courage !
Il faudrait que tu postes une maquette ou au moins que tu dises comment sont nommés les champs.
Utilisent-ils la Convention de dénomination des champs de formulaire ?
Voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/27 octobre 2016 à 11:01 #58889philousebMembreMerlin,
J’ai trouvé la solution en utilisant le code plus bas et en nommant mes champs par famille.
Je t’enverrai le projet une fois fini si cela t’interresse.Merci encore de ta réactivité.
- AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.