Donnez vie à vos documents numériques !
 

générateur de listes déroulantes avec valeurs d’export

abracadabraPDF Forums PDF – Général générateur de listes déroulantes avec valeurs d’export

  • Créateur
    Sujet
  • #70231
    michel c.
    Participant

    Bonjour, j’ai un script qui me permet d’importer dans 10 listes déroulantes chaque ligne d’un champ de texte multiligne comme élément de la liste.

    Ce que j’aimerais faire c’est qu’à la fin de chaque ligne, après un séparateur comme un ; ou un / , l’utilisateur termine la ligne par une valeur numérique.

    Et que l’on importe dans les listes déroulantes chaque ligne (avant le séparateur) comme élément de liste et que la valeur après le séparateur soit importée comme valeur d’export de chaque élément des listes.

    J’ai trouvé comment à partir d’un script importer des éléments de liste avec des valeurs d’export : this.getField("liste."+i).setItems([ ["-","0"], ["Choix A",10], ["Choix B",20], ["Choix C",30],["Choix D",40]]);

    Et j’ai trouvé également un script qui permet d’importer chaque ligne comme éléments de liste (je l’ai un peu modifier pour faire la même chose pour les 10 listes):

    this.getField("liste."+i).setItems(this.getField("entreesListe").value.split(/[\r\n]+/g));

    Par contre je ne sais pas trop comment m’y prendre pour faire ce que je souhaite. J’ai lu de la documentation à ce sujet mais il y a pas mal de choses que je ne maîtrise pas, comme l’usage des séparateurs et comment ensuite réintégrer les différentes données dans les listes déroulantes..

    Derrière ce besoin, je voudrais que des utilisateurs lambdas puissent mettre les éléments qu’ils souhaitent avec les valeurs d’export sans qu’ils ne rentrent dans les scripts pour cela.

    Merci

    Attachments:
    You must be logged in to view attached files.
Affichage de 3 réponses de 1 à 3 (sur un total de 3)
  • Auteur
    Réponses
  • #70234
    bebarth
    Maître des clés

    bonjour,
    Tu écris :

    var lesLignes=this.getField("entreesListe").value.split("\r");
    for (var i=0; i<lesLignes.length; i++) lesLignes=lesLignes.split("\/");
    for (var i=0; i<10; i++) this.getField("liste."+i).setItems(lesLignes);

    ATTENTION : Ce que l’on voit affiché n’est pas ce que j’ai écrit ! cf. copie d’écran ou fichier.

    Il faudra peut-être rajouter quelques lignes de script pour vérifier que chaque ligne est correct… une expression régulière par exemple !

    @+
    😎

    • Cette réponse a été modifiée le il y a 2 années et 2 mois par bebarth.
    • Cette réponse a été modifiée le il y a 2 années et 2 mois par bebarth.
    Attachments:
    You must be logged in to view attached files.
    #70240
    michel c.
    Participant

    Merci beaucoup, ça fonctionne.

    Voici le script : var lesLignes=this.getField("entreesListe").value.split("\r");
    for (var i=0; i<lesLignes.length; i++) {lesLignes=lesLignes.split("\/");}
    for (var i=0; i<10; i++) {this.getField("liste."+i).setItems(lesLignes);}

    #70241
    michel c.
    Participant

    avec la copie d’écran…

    Attachments:
    You must be logged in to view attached files.
Affichage de 3 réponses de 1 à 3 (sur un total de 3)
  • Vous devez être connecté pour répondre à ce sujet.