Donnez vie à vos documents numériques !
 

Formulaire Acrobat Pro: bouton envoi email + en objet le contenu d’un champ

abracadabraPDF Forums PDF – Général Formulaire Acrobat Pro: bouton envoi email + en objet le contenu d’un champ

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45067
    eliepoinT
    Membre

    Bonjour à tous,

    Avec mes petites main j’ai créé un formulaire sous Acrobat Pro XI, mon premier  :geek: !
    A la fin de ce formulaire se trouve un bouton “Envoyer”  auquel j’ai associé l’action Submit Form, avec le mail “mailto:Service.Support-Dev@toto.com?subject=Demande support zOS&body=Demande support zOS”, et le format de la pièce jointe PDF complet. Jusque là tout va bien j’ai ce qu’il me faut.

    Maintenant là où ça se corse c’est qu’on me demande de faire apparaitre dans l’objet du mail certain champ rempli par l’utilisateur. Est ce que vous aurriez une idée de comment faire? J’ai vu qu’il était possible d’associer un JavaScript à un bouton action mais quelle commande utiliser?

    Merci d’avance, cordialement,
    Elie

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

    Bonjour et bienvenue,

    Pour faire simple le mieux est de copier-coller depuis ce document : http://abracadabrapdf.net/pdf-de-demo/formulaires/formulaire-de-contact/

    C’est le bouton orange qu’il faut utiliser pour envoyer le PDF complet, avec ça tu copies les champs A, sujet, message, etc. que tu places en “invisible à l’écran”.
    Sauf le champ email (A) puisque l’utilisateur doit le remplir.

    Dans les champs invisibles il faudra placer le texte voulu en “valeur par défaut” : onglet Options des Propriétés du champ.
    Ainsi le contenu de ces champ sera toujours protégé contre la réinitialisation/effacement du formulaire.

    :Smiley15:

    #58372
    eliepoinT
    Membre

    Merci pour l’acceuil et la rapidité de réponse!
    En effet ce bouton orange fait ce que je veux mais je ne comprend pas comment le javascript permet de joindre le formulaire?

    #58373
    Merlin
    Maître des clés

    Tel quel ça ne fonctionne que avec Adobe Reader XI (11) et Acrobat.
    Pour que ça fonctionne avec Reader X et les versions antérieures il faut que le PDF soit préalablement “activé pour Reader” (Reader Extended).
    :idee:

    #58374
    eliepoinT
    Membre

    Ok j’ai (presque) réussi à faire ce que je devais  :extra:
    Juste est ce qu’il y a un moyen en JS de concaténer 2 champs du formulaire pour les mettres tous les 2 dans l’objet du mail?

    #58375
    eliepoinT
    Membre

    Bon le JavaScript c’est pas limpide, je pensais faire une concaténation avec ça:

    Code:
    var fTo = “Service.Support-Dev@toto.com”;
    var fSubject1 = this.getField(“Enseigne”);
    fSubject1 += this.getField(“Environnement”);
    var fBody = this.getField(“Explication”);

    this.mailDoc(true, “fTo.value”, “”, “”, fSubject1.value , fBody.value);

    mais ca fonctionne pas…  :doute: [/code]

    #58376
    Merlin
    Maître des clés

    Juste est ce qu’il y a un moyen en JS de concaténer 2 champs du formulaire pour les mettres tous les 2 dans l’objet du mail?

    Il faut créer un 3e champ (invisible) qui va concaténer les valeurs des deux autres.
    On se servira du contenu de ce 3e champ pour remplir la rubrique sujet.

    A placer en script de calcul :

    Code:
    event.target.value = this getField(“SUJET1”).value + “-” +  this getField(“SUJET2”).value;

    + “-“  sert à placer un trait d’union entre les valeurs des deux champs.

    #58377
    eliepoinT
    Membre

    Merci, j’ai passé cette dificulté  :jerisjaune:

    Mais en voila une autre: comment faire pour que l’utilisateur soit obligé de remplir le formulaire avant de l’envoyer?

    Si on prend l’action “Soumettre le formulaire” proposé par Acrobat Pro il y a effectivement vérification de remplissage des champs marqué comme obligatoire avant envoie par mail mais pas de possibilité de changer l’objet du mail en question.

    Si on décide de passer par un javascript on peut configurer le mail comme bon nous semble mais pas profiter du marquage des champs en obligatoire.

    Je ne sais pas si c’est très clair…?  :Euuuh:

    #58378
    Merlin
    Maître des clés

    Bonjour,

    C’est on ne peut plus clair et c’est une question récurrente.
    Une recherche dans ce forum avec le mot-clé “obligatoire” s’impose…
    (ou required en anglais si tu veux trouver directement les messages contenant des scripts)

    :Smiley03:

    #58379
    eliepoinT
    Membre

    Merci Merlin, effectivement malgrès l’évolution de ma recherche je n’ai pas eu le reflexe de faire une recherche, la solution est là dans la réponse d’alex:
    http://abracadabrapdf.net/forum/index.php/topic,1960.0.html

    Vraiment super forum et surtout très utiles car le seul sur ce genre de sujet!

    Dernière question pour laquelle je n’ai pas trouvé de réponse sur le forum, les utilisateurs doivent entrer l’acronyme de leurs service qui est à ralonge (exemple:XXXX/YYY/ZZZ/111). Jusqu’à présent j’ai créé 4 champs textes distincts. Comment faire pour que les 4 champs apparaissent séparés mais que l’utilisateur n’ai pas besoin de passer par la touche Tab pour aller au champs suivant, et qu’il puisse séléctionner tous les champs d’un coup avec la souris?

    #58380
    Merlin
    Maître des clés

    Ce n’est pas possible, le mieux serait de tout mettre dans un seul champ.

    #58381
    eliepoinT
    Membre

    Merci!  :soleil:

    #58382
    eliepoinT
    Membre

    Bonjour,
    Je reviens sur ce topic car j’essaie de modifier l’alerte qui informe l’utilisateur qu’un champ requis n’a pas été remplis au moment ou il appuie sur le bouton “Envoi” du formulaire.
    Au code proposé par Alex, j’ai ajouté un break pour éviter les alerte sur tous les champs non rempli et limiter l’alerte au premier champs rencontré:

    Code:

    for(var i=0;i{
      nameField=this.getNthFieldName(i);
      fld=this.getField(nameField);

      if(fld.type==”text”|fld.type==”checkbox”|fld.type==”combobox”|fld.type==”radio”)
      {
          if(fld.required)
          {
            //console.println(“Analyse champ “+nameField);
            if(emptyTest.test(fld.value))
            {
                bSuccess=false;
                AlertMsg=”Veuillez remplir le champ “”+nameField+”””;
                app.alert(AlertMsg,1);
                fld.setFocus();
                break;
            }
          }
      }
    }

    Le soucis c’est que la numérotation des champs se fait par ordre alphabétique et non par odre d’apparition dans le document…
    Est ce qu’il n’y aurait pas possibilité de changer cette numérotation des champs pour qu’ils soient numérotés en fonction de leur ordre dans le document?
    Merci d’avance,

    Elie

    #58383
    Merlin
    Maître des clés

    Non hélas, il faut soit déplacer les champs pour les placer dans l’ordre logique, soit les renommer.
    :idee:

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