Formulaire - Masquer les informations selon la réponse  (Lu 1156 fois) Partager ce sujet Imprimer

1 B


Jessy  08 février 2019 : 21:38

Bonjour,


J'aimerai masquer les informations du formulaire pdf selon la réponse du participant. Exemple : Si l'organisme a des membres, l'organisme doit automatiquement prendre l'option A de l'assurance. À ce moment-là, sur le formulaire, le participant devra seulement remplir la partie concernée (Option A) et ne pourra pas avoir accès aux autres options. Est-ce possible avec Acrobat Pro? Si oui, comment?


Merci beaucoup de votre aide.


Jessy

IP archivée


Merlin  09 février 2019 : 12:04

Bonjour et bienvenue.

Il y a plusieurs façons de faire :
- afficher/masquer des champs de formulaire
- afficher/masquer des calques
- remplir à la volée des champs de formulaire statiques avec des textes différents
- dupliquer/supprimer des modèles de pages

Sachant que les deux premières ne requièrent pas forcément d'utiliser JavaScript.
Ensuite tout dépend de la complexité du formulaire, de ses contraintes d'utilisation et de diffusion.
 :Smiley15:

IP archivée


Jessy  12 février 2019 : 14:55

Salut,


Désolée, je suis débutante..Je n'ai pas réussi avec les deux premières.
Pourrais-tu m'aider svp?
Tu trouveras le formulaire en pièce jointe. Si la personne réponds oui pour la première question, le tableau A et C doit apparaître.
Si tu pouvais m'expliquer les étapes, cela serait vraiment très apprécié.


Merci.

IP archivée


bebarth  12 février 2019 : 15:39

bonjour,
Dans ton cas, il faut que tu crées 2 champs texte avec un fond blanc qui viendront masquer tes tableaux. Dans mon exemple ils ne sont pas blancs, mais c'est pour mieux te montrer...
Ensuite tu vas dans les propriétés du bouton OUI et tu suis la copie d'écran (ici tu coches "masquer").
Enfin tu vas dans les propriétés du bouton NON et tu fais la même chose, sauf que tu coches "afficher".
Est-ce clair pour toi ?
@+
 :bonjour:

IP archivée


Jessy  13 février 2019 : 21:51

Bonjour,


Effectivement, cela fonctionne très bien. Je vous remercie. Par contre, cela ne fait pas du tout professionnel d'avoir des parties blanches... . Ça fait vraiment bizarre sur le document.
Si je séparais les options d'assurances par page, est-ce possible d'afficher la page concernée en fonction de la réponse et de supprimer les autres options (pages) automatiquement?


Désolée de vous embêter avec ça.... :S


J'attends de vos nouvelles.


Merci pour votre aide.


Jessy

IP archivée



Merlin  13 février 2019 : 23:46

Tu n'embêtes personne, les forums sont fait pour ça.

Si je séparais les options d'assurances par page, est-ce possible d'afficher la page concernée en fonction de la réponse et de supprimer les autres options (pages) automatiquement ?
C'est quelque chose que j'ai déjà fait pour des compagnies d'assurances, ou autres, mais ça ne peut pas s'expliquer en quelques lignes, ça demande pas mal de compétences en PDF et en JavaScript.

Il te faudrait soit une formation, soit faire-faire.

IP archivée


Jessy  14 février 2019 : 22:38

Bonjour,


Je vous remercie mais je n'y arrive pas même avec le tuto.


J'ai un peu changé le formulaire pour essayer de faciliter les choses. Disons que si la personne coche oui pour "organisme a but lucratif avec membre", la page option A et la dernière page de consentement devrait apparaître. Les autres pages devront être supprimé automatiquement...
Étant novice avec JavaScript, j'ai cherché sur le forum et le script entré ne fonctionne pas. :mur:


Voici le script entré


console.clear();[/size]if(this.event.target.isBoxChecked(0)){this.getTemplate("Nom-du-modele").hidden = false;} else {this.getTemplate("Nom-du-modele").hidden = true;}


Pouvez-vous m'aider?? J'ai joint le formulaire en pièce jointe


Je vous remercie


Jessy



[/color]

IP archivée


bebarth  15 février 2019 : 09:33

bonjour,
Il y a plusieurs erreurs dans ton script.
Lorsque tu écris this.event.target.isBoxChecked(3), 3 n'est pas pas le non du champ mais le numéro du widget (qui est un numéro d'indice pour les champs de même nom).
Ensuite, tu vas regarder l'état du template "page4" qui n'existe pas ! tu n'as qu'un template "page9".
Il faudrait donc écrire (avec les mêmes syntaxes utilisées) :
if(this.event.target.isBoxChecked(0)) {
this.getTemplate("page9").hidden = false;
} else {
this.getTemplate("page9").hidden = true;
}
Mais je pense que tu vas vite t'apercevoir que ça ne te convient pas !
Lorsque tu affiche ta page, elle se place à la fin. Pour la placer au bon endroit c'est un peu plus compliqué, d'où mon renvoi précédent à ce post :
https://abracadabrapdf.net/forum/index.php/topic,3173.msg18509.html#msg18509
@+
 :bonjour:

IP archivée


Jessy  01 mars 2019 : 16:02

Bonjour,


Merci pour votre réponse mais effectivement cela ne me convient pas. Pour cela, j'ai dû revoir le formulaire et le voici.


Mes questions :


Section 5 : Lorsque je clique la case "aucun enseignant", tous les champs du tableau sont masqués Mais, lorsque la case est décocher, les champs ne réapparaissent pas.


Section 6 : bouton radio


Si je sélectionne l'option A, les champs des tableaux B,C, D sont masqués.
Si je sélectionne le B, les champs C et D sont masqués. Je suis capable d'afficher les champs B mais impossible de masquer le A.


Ce que je veux c'est :
A sélectionné = Champs tableaux B,C,D masqués et Champs A affichés
B sélectionné = Champs tableaux A,C,D masqués et Champs B affichés
C sélectionné = Champs tableaux A,B,D masqués et Champs C affichésD sélectionné = Champs tableaux A,B,C masqués et Champs D affichés
Pouvez-vous m'aider?


Voici le JS utilisé pour les deux cas :


var nHide = event.target.isBoxChecked(0)?display.visible:display.hidden;
this.getField("BNombreTerrains1").display = nHide;
this.getField("BNombreTerrains2").display = nHide;
this.getField("BNombreTerrains3").display = nHide;
this.getField("BCoûtsTerrains2").display = nHide;
this.getField("BCoûtsTerrains1").display = nHide;
this.getField("BCoûtsTerrains3").display = nHide;
this.getField("BTotalTerrains1").display = nHide;
this.getField("BTotalTerrains2").display = nHide;
this.getField("BTotalTerrains").display = nHide;
this.getField("BMontant").display = nHide;
this.getField("BTPS").display = nHide;
this.getField("BTVQ").display = nHide;
this.getField("BTotal").display = nHide;
this.getField("CEntraîneurs").display = nHide;
this.getField("CCoût").display = nHide;
this.getField("CTotal").display = nHide;
this.getField("CMontant").display = nHide;
this.getField("CTPS").display = nHide;
this.getField("CTVQ").display = nHide;
this.getField("Total C").display = nHide;
this.getField("DNombre").display = nHide;
this.getField("Dmembres").display = nHide;
this.getField("DCoût").display = nHide;
this.getField("DCoûtmembre").display = nHide;
this.getField("D-Totalmembres").display = nHide;
this.getField("DTotalmembres").display = nHide;
this.getField("DCotisation").display = nHide;
this.getField("DMontant").display = nHide;
this.getField("DTPS").display = nHide;
this.getField("D-TVQ").display = nHide;
this.getField("DTotal").display = nHide;


Autre question : Certains champs se mettent invisibles ou Variable automatiquement? pourquoi? Je suis obligée de tout le temps modifier... :mur: :mur:


Merci beaucoup.

IP archivée


Merlin  01 mars 2019 : 19:46

Case à cocher - Masquer_Afficher champ.pdf
C'est une blague ?  :Smiley01:
Voir : https://www.abracadabrapdf.net/?p=32

IP archivée


Merlin  01 mars 2019 : 19:53

Il faut absolument que tu t'intéresse à la Convention de dénomination des champs de formulaire : https://www.abracadabrapdf.net/?p=525
Tu gagneras un temps et une énergie folle.

Par exemple, au lieu de nommer tes champs :
BNombreTerrains1, BNombreTerrains2, BNombreTerrains3, etc.

Si tu les nommais :
BNombreTerrains.1, BNombreTerrains.2, BNombreTerrains.3,etc.


Tu pourrais utiliser :
this.getField("BNombreTerrains").display = nHide;

Au lieu de :
this.getField("BNombreTerrains1").display = nHide;
this.getField("BNombreTerrains2").display = nHide;
this.getField("BNombreTerrains3").display = nHide;

Etc.
 :Smiley15:

IP archivée


Jessy  01 mars 2019 : 21:10

Bonjour Merlin,


Désolée, mauvaise manip. Tu trouveras le fichier en pièce jointe.


C'est noté pour la dénomination des champs, effectivement - ça serait tellement pratique!!! :Smiley01: :Smiley01: :Smiley01:


Je suis entrain de chercher sur le forum, je n'ai pas trouvé encore. Si je comprends bien pour mon cas, je devrais utiliser le JS "Switch". Si oui, comment le faire? Désolée, je ne suis pas forte en JS.


Merci..

IP archivée


Merlin  01 mars 2019 : 22:18

Citer
Si je sélectionne l'option A, les champs des tableaux B,C, D sont masqués.
Si je sélectionne le B, les champs C et D sont masqués. Je suis capable d'afficher les champs B mais impossible de masquer le A.

Ce que je veux c'est :
A sélectionné = Champs tableaux B,C,D masqués et Champs A affichés
B sélectionné = Champs tableaux A,C,D masqués et Champs B affichés
C sélectionné = Champs tableaux A,B,D masqués et Champs C affichésD sélectionné = Champs tableaux A,B,C masqués et Champs D affichés
Pouvez-vous m'aider?
Si tu essayais pendant 2 minutes de te mettre à la place de quelqu'un qui ne connait ni le formulaire ni sa problématique, tu devrais facilement te rendre compte à quel point ce que tu écris est contradictoire et incompréhensible.
Ce que tu as est ce que tu veux…

Je ne sais pas quoi répondre parce-que je ne comprend pas la question.
 :joker:

IP archivée


Jessy  01 mars 2019 : 22:37

Bonjour Merlin,


Je suis désolée.....!!!


Si tu regarde mon formulaire, à la section 6, il y a quatre boutons radios (A.B.C.D). Dans le cas où l’utilisateur sélectionnerait le bouton de l'option A, j'aimerais que les champs du tableau "Option A Organismes avec membres" (page 3) A apparaissent seulement et les champs des autres tableaux (Option B, C, D) soient masqués automatiquement. Si l'utilisateur sélectionne l'option B (section 6, page 2), seuls les champs de l'option B devront apparaître (page 3). etc.


Est-ce que tu comprends mieux?


IP archivée


Merlin  02 mars 2019 : 10:35

Est-ce que tu comprends mieux ?
Oui, certainement parce-que l'explication est plus claire… Et certainement aussi parce-que de bon matin j'ai aussi les idées plus claires qu'un soir de fin de semaine.
 :Smiley03:

Donc regarde dans le ci-joint.
4 cases-à-cocher (je n'aime pas les boutons-radio), 4 champs "cache" (respectant la Convention de dénomination) et quelques lignes de script (dans les cases-à-cocher).
 :Smiley15:

if (event.target.value == "A") {
this.getField("cache").display = display.visible;
this.getField("cache.A").display = display.hidden;
}
else if (event.target.value == "B") {
this.getField("cache").display = display.visible;
this.getField("cache.B").display = display.hidden;
}
else if (event.target.value == "C") {
this.getField("cache").display = display.visible;
this.getField("cache.C").display = display.hidden;
}
else if (event.target.value == "D") {
this.getField("cache").display = display.visible;
this.getField("cache.D").display = display.hidden;
}
else {
this.getField("cache").display = display.visible;
}


PS : si je peux me permettre, H/F (homme/femme) c'est le genre, pas le sexe.
Le sexe c'est masculin/féminin ou mâle/femelle.


IP archivée