Donnez vie à vos documents numériques !
 

Liste déroulante influence la suite du document

abracadabraPDF Forums PDF – Général Liste déroulante influence la suite du document

  • Créateur
    Sujet
  • #74014
    Flz
    Participant

    Bonjour,

    Je suis un ignorant de JavaScript et malgré les quelques essais que j’ai réalisé j’ai vraiment du mal à comprendre son fonctionnement. Je souhaiterais réaliser un formulaire PDF. Pour les éléments principaux, il m’est facile d’utiliser la fonction “préparer un formulaire” et créer des champs de texte, bouton radio, liste déroulante,…

    Seulement j’aimerais pousser un peu plus et faire en sorte que la sélection d’une réponse d’une des listes déroulantes impact la suite du document. Par exemple, les choix de la liste déroulante pourraient être les suivants:

    • Montagne
    • Océan

    En fonction de ce que l’utilisateur va sélectionné, la liste des questions suivantes sera liée à son choix.

    Exemple: s’il choisit Montagne:

    • Critère 1: Durée à afficher en amont d’un champ de texte
    • Critère 2: Dénivelé max à afficher en amont d’un champ de texte
    • Critère 3: Distance max à afficher en amont d’un champ de texte

    S’il choisit Océan:

    • Critère 1: Type d’activité à afficher en amont d’un champ de texte
    • Critère 2: Nombre de participant à afficher en amont d’un champ de texte

    J’envisage deux options:

    1. Soit les éléments s’afficherait sur la même page en fonction du choix qui est fait
    2. Soit le choix fait sur la liste déroulante renverrait vers une autre page avec les questions associées à ce choix avec impossibilité d’accéder aux pages associées aux autres choix de cette liste.

    J’espère que c’est clair? 🙂

    Merci beaucoup par avance pour votre aide

    Flz

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

    Bonjour

     

    C’est une question fréquemment posée dans ce forum.

    Fait une recherche sur “listes dépendantes” et sur “listes mère filles”, ça t’apportera beaucoup de réponses.

    N’hésites pas à revenir poser des questions si tu rencontres des difficultés.

    #74022
    Flz
    Participant

    Merci Merlin, j’ai déjà jeté un œil mais je n’ai pas trouvé ce que je voulais précisément. Je re-tente et reviens vers toi si jamais 🙂

    Bonne journée

    #74034
    bebarth
    Maître des clés

    bonjour,
    Il faudrait voir exactement ton formulaire car de ce que je comprends ce ne sont pas exactement des listes mères-filles vu qu’il n’y a qu’un seul menu déroulant…

    @+
    😎

    #74058
    Flz
    Participant

    Bonjour Bebarth,

    J’essaye de t’envoyer ça dans la semaine ! Merci pour l’intérêt

    Bonne soirée

    #74059
    Flz
    Participant

    Bonjour Bebarth,

    Voici un document qui montre ce que je voudrais faire.

    Mon objectif serait dans un premier temps, en 1ere page, de déterminer quel type de produit intéresse mon interlocuteur. De ce choix, la liste des procédés est influencé (mère-fille) et en fonction des choix de cette première page, l’interlocuteur est orienté vers la page 2, la page 3 ou la page 4 sans avoir accès aux autres pages. L’objectif étant de ne pas l’encombrer avec des informations et questions qui ne l’intéresse pas. Un peu comme un formulaire à remplir en ligne qui en fonction de nos choix oriente les questions qui suivent.

    Saurais-tu m’aider à identifier un code qui pourrait répondre à ces critères?

    Merci!

    Attachments:
    You must be logged in to view attached files.
    #74061
    bebarth
    Maître des clés

    bonjour,
    De ce que je comprend, il faut combiner une liste mère-fille avec des pages modèles qui ne seront affichées qu’en fonction du choix.
    Je ne sais pas si je pourrai regarder ton fichier cette semaine… mais je fais ça au plus vite ! Désolé si c’est urgent.

    @+
    😎

    #74062
    Flz
    Participant

    Hello !

    Oui c’est exactement mon objectif. Merci beaucoup pour ton aide en tout cas. Pas d’urgence 😉

    Bonne journée!

    #74080
    bebarth
    Maître des clés

    bonjour,
    Je viens de commencer à regarder ton fichier.
    Est-ce bien des liste mère/filles ? Est-ce que tous les éléments du menu “Process Type” diffèrent en fonction de chaque élément du menu “Product Type” ? Par exemple, pour “Product 1” on va avoir un menu “Process Type” avec les éléments “Process A1”, “Process B1″,”Process C1”, etc. et pour “Product 2” on va avoir un menu “Process Type” avec les éléments “Process A2”, “Process B2″,”Process C2”, etc. et ainsi de suite ?
    Pour chaque sélection, ajoute-t-on une seule ou plusieurs pages ? En fin de document ou dans le milieu ?

    @+
    😎

    #74084
    Flz
    Participant

    Bonjour,

    En effet, les éléments de “Process type” dépendent du “Product type” et ne seront pas similaire en fonction du type de produit sélectionné.

    Pour chaque sélection nous ajoutons plusieurs pages qui se trouvent au milieu du document.

    Est-ce que c’est quelque chose de réalisable ou vraiment très complexe ?

    Bonne soirée et merci encore !

    #74085
    bebarth
    Maître des clés

    bonsoir,

    c’est faisable et la complexité dépend des connaissances en JavaScript!

    Je regarde demain.

    bonne soirée.

    @+
    😎

    #74091
    bebarth
    Maître des clés

    bonjour,
    Ci-joint le fichier qui devrait répondre à ton attente, et ci-dessous les scripts utilisés :

    // Script de document
    var listesFilles= {
    "Product 1": [["- Please Choose -",0],"Process A1", "Process B1", "Process C1", "Process D1"],
    "Product 2": [["- Please Choose -",0],"Process A2", "Process B2", "Process C2", "Process D2"],
    "Product 3": [["- Please Choose -",0],"Process A3", "Process B3", "Process C3", "Process D3"],
    "Product 4": [["- Please Choose -",0],"Process A4", "Process B4", "Process C4", "Process D4"],
    };
    var nbPages=4; // Nombre de pages sans les modèles
    var apresPage=2; // No de page après laquelle insérer les modèles
    function suppression() {
    if (this.numPages>nbPages) {
    this.deletePages({
    nStart: apresPage,
    nEnd: this.numPages-apresPage-1
    });
    }
    }

    // Script de touches personnalisé Product Type
    if (!event.willCommit) {
    suppression();
    if (event.changeEx!=0) this.getField("ProcessType").setItems(listesFilles[event.changeEx]);
    else this.getField("ProcessType").clearItems();
    }

    // Script de touches personnalisé Process Type
    if (!event.willCommit) {
    suppression();
    if (event.changeEx!=0) {
    var pagesModeles=this.templates;
    for (var j=pagesModeles.length-1; j>=0; j--) {
    if (pagesModeles[j].name.indexOf(event.changeEx)==0) pagesModeles[j].spawn(apresPage, true, false);
    }
    }
    }

    Est-ce que cela te convient ? N’hésite pas à demander pour des explications.

    @+
    😎

    PS : Changement de variable de i en j car il y a un problème d’affichage lorsque le i est entre crochets…

    • Cette réponse a été modifiée le il y a 1 semaine et 1 jour par bebarth.
    Attachments:
    You must be logged in to view attached files.
    #74122
    Flz
    Participant

    Hello !

    Un grand merci ! Désolé pour le temps de réponse, je suis bien pris en ce moment. Je regarde tout ça dans la semaine 🙂

    Je te dis quoi 😉

    a+

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