abracadabraPDF › Forums › PDF – Général › Formulaire – Masquer les informations selon la réponse
- Ce sujet est vide.
-
CréateurSujet
-
8 février 2019 à 20:38 #46010JessyMembre
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
-
CréateurSujet
-
AuteurRéponses
-
9 février 2019 à 11:04 #65260MerlinMaître des clés
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 pagesSachant 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:12 février 2019 à 13:55 #65261JessyMembreSalut,
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.
12 février 2019 à 14:39 #65262bebarthMaître des clésbonjour,
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:13 février 2019 à 20:51 #65263JessyMembreBonjour,
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
13 février 2019 à 21:37 #65264bebarthMaître des clésbonsoir,
Regarde ce post :
https://abracadabrapdf.net/forum/index.php/topic,3173.msg18509.html#msg18509
et ces 2 exemples :
https://abracadabrapdf.net/forum/index.php?action=dlattach;topic=3173.0;attach=2919
https://abracadabrapdf.net/forum/index.php?action=dlattach;topic=3173.0;attach=2928Est-ce que ça te conviendrait ??
@+
:bonjour:13 février 2019 à 22:46 #65265MerlinMaître des clésTu 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.
14 février 2019 à 21:38 #65266JessyMembreBonjour,
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();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
15 février 2019 à 08:33 #65267bebarthMaître des clésbonjour,
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) :Code: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:1 mars 2019 à 15:02 #65268JessyMembreBonjour,
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.
1 mars 2019 à 18:46 #65269MerlinMaître des clésCase à cocher – Masquer_Afficher champ.pdf
C’est une blague ? :Smiley01:
Voir : https://www.abracadabrapdf.net/?p=321 mars 2019 à 18:53 #65270MerlinMaître des clésIl 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:1 mars 2019 à 20:10 #65271JessyMembreBonjour 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..
1 mars 2019 à 21:18 #65272MerlinMaître des clésSi 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:1 mars 2019 à 21:37 #65273JessyMembreBonjour 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?
2 mars 2019 à 09:35 #65274MerlinMaître des clésEst-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:Code: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. -
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.