Donnez vie à vos documents numériques !
 

Affichage d’une valeur selon menu déroulant

abracadabraPDF Forums PDF – Général Affichage d’une valeur selon menu déroulant

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45293
    chouloute
    Membre

    Bonjour,

    J’essaye depuis quelques temps déjà de faire un formulaire spécifique avec un menu déroulant et en fonction de ce qui est choisi dans ce menu, une valeur qui vient se mettre automatiquement dans une autre cellule.

    Je m’explique, je vais avoir une colonne A avec un menu déroulant avec une dizaine de choix à faire; en fonction de ce que j’ai choisi, j’aimerais que dans la colonne B, j’ai une valeur qui s’incrémente automatiquement sachant que pour chaque choix j’aurais des valeurs différentes

    Vous avez un exemple en pièce jointe.

    J’ai déjà vu plusieurs post avec des listes mère-fille mais je ne m’y retrouvais pas là dedans.

    Quelqu’un peut-il m’aider ?

Affichage de 18 réponses de 1 à 18 (sur un total de 18)
  • Auteur
    Réponses
  • #59928
    alex
    Participant

    Bonjour,

    Voir maquette jointe. Le script est associé au menu déroulant “DropDown1”, onglet “Validation” “Exécuter le script de validation personnalisé”.
    Attention, onglet “Options”, il faut cocher la case “Valider la valeur sélectionnée immédiatement”.
    Cette solution est basique:


    bb=this.getField(“BRow1”);
    bb.value=””;
    if(saisie==”choix A”){bb.value=20.59;}
    if(saisie==”choix B”){bb.value=41.17;}
    if(saisie==”choix C”){bb.value=54.76;}


    Une autre méthode consiste à associer les valeurs aux items du menu déroulant. Je donnerai également une maquette illustrant cette méthode apparemment plus simple…

    Amitiés à tous.

    #59929
    alex
    Participant

    Voici donc ma seconde manière à la fois plus simple et plus complexe.
    On saisit les valeurs d’export dans le menu déroulant “DropSown1”, onglet “Options”.
    Cette fois le script est encore associé au menu déroulant “DropSown1”, mais sous l’onglet “Format”, script de touche personnalisé.
    Onglet “Options”, il ne faut pas nécessairement cocher la case “Valider la valeur sélectionnée immédiatement”.

    Plus simple : la saisie des données.
    Moins simple à comprendre : le script associé à l’évènement :

    if(!event.willCommit)
    {
    bb=this.getField(“BRow1”);
    bb.value=this.event.changeEx;
    }

    Bonsoir.

    #59930
    chouloute
    Membre

    Merci c’est génial !!!!!
    Et grand merci pour ce forum qui est devenu ma bible depuis quelques temps déjà et à tous ceux qui prennent du temps pour nous aider.
    Continuez comme ça

    #59931
    bebarth
    Maître des clés

    :extra:
    je vais essayer de comprendre l’événement…
    :priere:

    #59932
    bebarth
    Maître des clés

    bonjour,
    je voudrais juste signaler à Alex que dans son fichier exemple, la console n’indique pas le choix sélectionné, mais le précédent…
    je suis bien évidemment incapable comme ça de modifier le script !
    @+
    :bonjour:

    #59933
    bebarth
    Maître des clés

    re-bonjour,
    j’ai un peu regardé les exemples dans le js_api_reference, mais ne comprends pas la différence entre
    if(!event.willCommit)
    et
    if(event.willCommit)

    -> le point d’exclamation.

    :Euuuh:

    #59934
    Merlin
    Maître des clés

    Le point d’exclamation ça inverse.

    == : vérifie l’égalité
    != : vérifie l’inégalité

    this.getField(“NOMDUCHAMP”).display = !event.target.isBoxChecked(0); : l’état display par défaut du champ est l’inverse de l’état coché de la case.
    this.getField(“NOMDUCHAMP”).display = event.target.isBoxChecked(0); : l’état display par défaut du champ est le même que l’état coché de la case.

    #59935
    bebarth
    Maître des clés

    Merci Merlin !
    je savais pour les opérateurs de comparaison mais ne comprenais pas avec “event”.
    @+
    :geek:

    #59936
    bebarth
    Maître des clés

    …et donc if(!event.willCommit) signifie : si l’événement n’est pas une frappe (clavier)…
    correct ?
    :Euuuh:

    #59937
    Merlin
    Maître des clés

    :joker:

    Je laisse Alex te répondre plus précisément.

    #59938
    micka92
    Membre

    Bonjour.

    Je profite de ce topic pour savoir s’il y a une limite aux listes mère-fille ? Dans mon cas, j’ai 5 listes dont les 3 dernières avec plus de 1000 valeurs.

    #59939
    alex
    Participant

    Pour répondre à bebarth, voir ci-dessous:
    https://acrobatusers.com/tutorials/print/formatting_text_fields

    #59940
    Merlin
    Maître des clés

    Pour répondre à bebarth, voir ci-dessous:
    https://acrobatusers.com/tutorials/print/formatting_text_fields

    Thom Parker !
    Notre maitre à tous.
    :bonjour:

    #59941
    bebarth
    Maître des clés

    Merci Alex, je vais étudier ça !
    @+
    :priere:

    #59942
    chouloute
    Membre

    Re bonjour à tous,

    Je profite de vos connaissances encore.

    Dans le même principe que le document que j’avais proposé je voulais faire une 1ère liste déroulante avec 3 choix ( A,B,C) puis une 2ème qui en découle sachant que pour A par exemple je ne veux rien d’écrit, pour B 3 choix ( B1 ,B2, B3) et pour C aussi (C1, C2, C3). Ensuite, en fonction de ces derniers choix, je voudrais que si je choisis C1, une de mes cases texte écrive automatiquement “intitulé 1″ ( par exemple) et la case texte 2 ” domaine 1″; et ainsi de suite ( pour B1,B2,B3….).
    Est-ce qu’il vaut mieux que je passe par 4 menu-déroulants mère-filles, ou bien est-ce que j’en fais 2 et à partir du choix de la liste fille mes 2 cases peuvent se remplir automatiquement et si oui comment je pourrais procéder ?

    (j’espère avoir été assez claire)

    #59943
    Merlin
    Maître des clés

    C’est un sujet d’actualité, dirait on…
    On en parle justement ici : http://abracadabrapdf.net/forum/index.php/topic,2883.0.html

    #59944
    chouloute
    Membre

    Eh bien Merlin je suis désolée mais j’ai pourtant essayé……. mais vraiment je bloque là

    #59945
    alex
    Participant

    Bonjour,
    Voilà pour vous remettre sur les rails.
    Il faut respecter le nom des champs utilisés par les scripts, ici “ListeMere” et “ListeFille”.
    Ctrl J vous permet d’ouvrir la console et de suivre la trace des impressions intermédiaires lors du déroulement des scripts.
    Bon courage.

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