Donnez vie à vos documents numériques !
 

Envoyer pdf à plusieurs emails selon checkbox

abracadabraPDF Forums PDF – Général Envoyer pdf à plusieurs emails selon checkbox

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46655
    Mariam
    Membre

    Bonjour, merci d’être là!

    Je n’ai jamais fait de javascript, mais j’ai essayé de m’en sortir seule en lisant ce forum et d’autre, mais visiblement je ne percute pas quelque chose.

    J’essaie de faire un truc tout simple: Avec Acrobat, j’ai créé un formulaire. En plus des informations textes que je veux recueillir, j’ai une série de checkbox représentant différents organismes.
    J’aimerais que le formulaire s’envoie, version PDF reader, à tous les organismes choisis, et pas aux autres.

    En gros, si A et C sont checké, je voudrais que le pdf leur parvienne rempli.

    Pour « tester » mon code, je n’ai essayé d’associer une adresse courriel qu’à deux des chekbox.
    Mais de toute façon ça ne marche pas.

    Rien ne se passe.

    Le code javascript du bouton « envoyer le formulaire », c’est cela en ce moment:

    var abbs;
    if (this.getField(« ABBS BeauceSartigan »).value != « Off ») {
    var abbs = « aidant@benevolatbeauce.com; »
    }

    else {
    }

    var CIUSS;
    if (this.getFied(« CIUSS »).value != « Off ») {
    var CIUSS = « mbosquart@benevolatbeauce.com; »
    }
    else {
    }

    var fTo = this.getField(« To »);
    fTo.value = (abbs.value + CIUSS.value);

    var fBody = this.getField(« Body »).value;

    this.mailDoc({cTo: fTo, cSubject: « Référence Proche-Aidant », cMsg: « Référence proche-aidant, Voir le pdf joint »});

    Je vous joins mon PDF et je vous remercie,

    Mariam

Affichage de 3 réponses de 1 à 3 (sur un total de 3)
  • Auteur
    Réponses
  • #69613
    bebarth
    Maître des clés

    bonjour,
    Si j’ai bien compris, tu mets ce script en action souris relâchée :
    if (this.getField(« ABBS BeauceSartigan »).value != « Off » && this.getField(« CIUSS »).value != « Off ») {
        this.getField(« To »).value= »aidant@benevolatbeauce.com;mbosquart@benevolatbeauce.com »;
        this.mailDoc({cTo: « aidant@benevolatbeauce.com;mbosquart@benevolatbeauce.com », cSubject: « Référence Proche-Aidant », cMsg: « Référence proche-aidant, Voir le pdf joint »});
        this.resetForm();
    }

    Code:
    Je n’ai pas utilisé ta variable « fBody » car je n’ai pas trouvé de champ « Body ».
    @+
    #69614
    Mariam
    Membre

    Bonjour Bebarth, et merci de ton retour!

    Bonjour et merci de ton retour!

    Si je fais comme tu écris, si je comprends bien, cela signifie que si les deux checkbox sont cochées, cela envoie aux deux adresses mail.

    Mais si une seule est cochée, je ne veux l’envoyer qu’à l’adresse liée… Au final, j’aurai 13 checkbox différentes qui seront référées à 13 emails différents…

    Je ne peux pas utiliser ta formule pour programmer toutes les « possibilités » de groupement de checkbox? 

    J’ai l’impression de ne pas être claire. Si les checkbox A, E et F sont cochées, je voudrais que le formulaire s’envoie à A, E et F,  mais si c’est D et F, et bien, aux courriels de D et F…

    (pour la balise body, tu as raison, c’est un restant d’un essai précédent…)

    #69615
    bebarth
    Maître des clés

    Du coup, je n’avais pas bien compris…
    Dans ce cas, le mieux est de nommer les cases à cocher avec un nom commun et un indice, et de mettre les adresses correspondantes en valeurs d’exportation.
    Regarde ce tuto pour dupliquer un champ :
    https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/
    Le script devient donc :

    Code:
    var lesAdresses= » »;
    for (var i=0; i<13; i++) {
        if (this.getField(« chkBox. »+i).value!= »Off ») lesAdresses+=this.getField(« chkBox. »+i).value+ »; »;
    }
    if (lesAdresses!= » ») {
        this.getField(« To »).value=lesAdresses;
        this.mailDoc({cTo: lesAdresses, cSubject: « Référence Proche-Aidant », cMsg: « Référence proche-aidant, Voir le pdf joint »});
        this.resetForm();
    }

    Grace aux indices, on peut effectuer une boucle pour avoir toutes les adresses sélectionnées.
    @+
    :bonjour:

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