Donnez vie à vos documents numériques !
 

Liste déroulante d’après champ du formulaire

abracadabraPDF Forums PDF – Général Liste déroulante d’après champ du formulaire

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46040
    micka92
    Membre

    Bonsoir,

    Je vais essayer d’être clair dans ma demande.

    J’aurais besoin de pouvoir alimenter une liste déroulante et un champ texte, grâce à des valeurs contenues dans un autre champ. En gros, je m’imagine un champ texte dans lequel on pourrait mettre des valeurs ligne par ligne comme exemple :
    Titre 1||Valeur 1
    Titre 2||Valeur 2

    Par la suite, il faudrait que ma liste déroulante s’alimente avec les données “Titre 1, Titre 2…” et que mon champ texte associé s’alimente avec les données “Valeur 1, Valeur 2…”.

Affichage de 5 réponses de 26 à 30 (sur un total de 30)
  • Auteur
    Réponses
  • #65565
    micka92
    Membre

    …et ça ne te serait pas possible de mettre tes données dans un fichier attaché ?
    @+
    :bonjour:

    Non pas possible car utilisé sur des tablettes.

    #65566
    micka92
    Membre

    Du coup, comment écrire un script pour qu’à partir de ma liste déroulante, je peux afficher une donnée dans un champ texte ?

    Mon champ de données :
    Nom1|Prénom1|Age1
    Nom2|Prénom2|Age2

    Ma liste déroulante s’incrémente grâce au script de bebarth, mais avec en valeur élément et valeur d’exportation Nom1, Nom2…

    Je ne sais pas comment écrire un script pour récupérer sur un champ texte la valeur Prénomx ou Agex en fonction du choix de ma liste déroulante. J’ai bien compris le script qui découpe le champ de données ligne par ligne, puis dans chaque ligne par chaque séparateur | mais je n’arrive pas à mettre la donnée souhaitée dans un champ texte directement depuis le champ de données, et non depuis la valeur d’exportation de la liste déroulante proposée par bebarth.

    #65567
    bebarth
    Maître des clés

    bonjour,
    Tes questions sont certainement très claires dans ta tête, mais personnellement je ne vois pas quel est ton problème… le fichier Doc 1.pdf que tu as partagé me parait correct et je ne vois pas pourquoi tu as besoin que la valeur d’exportation soit identique à la valeur sélectionnée. Si tu as besoin de cette valeur, tu peux la récupérer comme tu l’as justement fait dans ton champ “Fournisseur”.
    En ce qui concerne ta dernière demande, c’est plus simple :

    Code:
    // Liste en souris enfoncée
    this.getField(“Liste”).clearItems();
    var lesValeurs = this.getField(“champTexte”).value;
    var laChaine = lesValeurs.split(“u000D”);
    for (var i=0; i    var laValeur=laChaine.split(“|”);
        this.getField(“Liste”).insertItemAt(laValeur[0],laValeur[0],i);
    }

    // Nom
    var indice =this.getField(“Liste”).currentValueIndices;
    var laValeur=laChaine[indice].split(“|”);
    this.event.target.value=laValeur[0];

    // Prenom
    this.event.target.value=laValeur[1];

    // Age
    this.event.target.value=laValeur[2];

    @+
    :bonjour:

    #65568
    micka92
    Membre

    bonjour,
    Tes questions sont certainement très claires dans ta tête, mais personnellement je ne vois pas quel est ton problème… le fichier Doc 1.pdf que tu as partagé me parait correct et je ne vois pas pourquoi tu as besoin que la valeur d’exportation soit identique à la valeur sélectionnée. Si tu as besoin de cette valeur, tu peux la récupérer comme tu l’as justement fait dans ton champ “Fournisseur”.
    En ce qui concerne ta dernière demande, c’est plus simple :

    Code:
    // Liste en souris enfoncée
    this.getField(“Liste”).clearItems();
    var lesValeurs = this.getField(“champTexte”).value;
    var laChaine = lesValeurs.split(“u000D”);
    for (var i=0; i    var laValeur=laChaine.split(“|”);
        this.getField(“Liste”).insertItemAt(laValeur[0],laValeur[0],i);
    }

    // Nom
    var indice =this.getField(“Liste”).currentValueIndices;
    var laValeur=laChaine[indice].split(“|”);
    this.event.target.value=laValeur[0];

    // Prenom
    this.event.target.value=laValeur[1];

    // Age
    this.event.target.value=laValeur[2];

    @+
    :bonjour:

    Merci pour le retour. Oui, effectivement, cela me semble clair dans ma tête, mais c’est difficile à exprimer.

    En fait, j’ai besoin que mes valeurs d’exportation soient identiques aux valeurs des éléments de mes listes déroulantes car derrière, il y a tout un process qui travaille d’après ces valeurs, et le nom des champs. Et ces process ne peuvent pas être modifiés. Voilà pourquoi.

    #65569
    bebarth
    Maître des clés

    bonjour,

    En fait, j’ai besoin que mes valeurs d’exportation soient identiques aux valeurs des éléments de mes listes déroulantes car derrière, il y a tout un process qui travaille d’après ces valeurs, et le nom des champs. Et ces process ne peuvent pas être modifiés. Voilà pourquoi.

    Il faudrait voir ce que tu appelles “process”, mais avec :

    Code:
    var indice=this.getField(“Liste”).currentValueIndices; //Ici c’est la position dans la liste de l’élément sélectionné
    this.event.target.value=this.getField(“Liste”).getItemAt(indice,false);// Ici tu lis la valeur de l’élément
    this.event.target.value=this.getField(“Liste”).getItemAt(indice,true);// Ici tu lis la valeur d’exportation de l’élément

    https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_methods.htm%23TOC_getItemAtbc-12&rhtocid=_6_1_8_31_2_11
    @+
    :bonjour:

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