Donnez vie à vos documents numériques !
 

Afficher/masquer des listes conditionnelles

abracadabraPDF Forums PDF – Général Afficher/masquer des listes conditionnelles

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45144
    Hiram
    Participant

    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.

Affichage de 13 réponses de 1 à 13 (sur un total de 13)
  • Auteur
    Réponses
  • #58877
    Merlin
    Maître des clés

    Bonjour et bienvenue.

    En fait je ne comprend pas la question…
    Quelle liste ?
    :Euuuh:

    Peux tu poster un exemple ?

    #58878
    Hiram
    Participant

    Bonjour 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.

    #58879
    alex
    Membre

    Les 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.

    #58880
    Hiram
    Participant

    Bonjour 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.

    #58881
    Hiram
    Participant

    Bonjour,

    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.

    #58882
    Merlin
    Maître des clés

    Bonjour.

    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:

    #58883
    Hiram
    Participant

    Bonjour 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.

    #58884
    Merlin
    Maître des clés

    L’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:

    #58885
    philouseb
    Membre

    Les 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
    Philippe

    #58886
    Merlin
    Maître des clés

    Heeuuu…
    Quelle est la question ?
    :Euuuh:

    #58887
    philouseb
    Membre

    Bonjour 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

    #58888
    Merlin
    Maître des clés

    J’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/

    #58889
    philouseb
    Membre

    Merlin,

    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é.

Affichage de 13 réponses de 1 à 13 (sur un total de 13)
  • Vous devez être connecté pour répondre à ce sujet.