We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 28173
    • 409 Posts
    Bonjour,

    Un de mes clients souhaite disposer d’un formulaire de contact destiné, en fonction du choix du visiteur et à fortiori du contenu, à l’un des deux services suivants : direction, secrétariat.

    Je pensais faire en sorte que le visiteur puisse choisir dans une liste déroulante le service qui va recevoir le formulaire (mails différents).
    Savez-vous s’il y a moyen de réaliser cette fonction ?
      • 33175
      • 711 Posts
      Bonjour,

      C’est tout à fait possible smiley
      Un moyen consiste à créer une liste déroulante :
      <select name="destinataire">
      <option value="direction">Direction</option>
      <option value="secretariat">Secrétariat</option>
      </select>

      Ensuite, tu récupères la valeur de "destinataire" renvoyée par ton formulaire smiley
        Sorry for my english. I&#39;m french... My dictionary is near me, but it&#39;s only a dictionary !
        • 28173
        • 409 Posts
        Merci pour le tuyau smiley

        J’ai donc modifié le snippet FormProcessor comme ceci :
        // if(!$to) { $to = "webmaster@{$server_name}"; }
        $to = $_POST[’destinataire’];
        j’ai commenté la première ligne qui ne sert plus dans mon cas et je récupère la valeur de la liste déroulante qui s’appelle "destinataire"

        L’inconvénient de cette méthode et qu’elle n’est pas très propre. Je verrais pas la suite si je peux pas améliorer un peu le snippet pour gérer ce genre de cas. Ca sera un bon exercice smiley
          • 28173
          • 409 Posts
          Je remonte mon topic car finalement mon choix s’est tourné vers eForm plutôt que FormProcessor (pour la souplesse principalement).
          Du coup j’ai épluché la doc de eForm et parviens à en faire quelque chose smiley
          J’ai même vu un paramètre qui semble répondre à mon besoin de choix du destinataire dans une liste du formulaire :
          &mailselector (Optional)
          Sets the name of the form field to use as a selector to select a single email from the comma (,) delimited emails assigned the &toparameter. This selector field will act like a numeric index to select an email. It will start at 1 for the first email and ends at N for the last email in the list.

          For example: &to =`[email protected],[email protected],[email protected]` &mailselector=`topic`

          On the web form the topic fields is actually a dropdown menu. when the user selects a topic from the list the value 1,2 or 3 will be sent to eForm which will then be used to select one of the three emails assigned to the &toparameter. This email address will be the address used to send the email to.
          Voici donc ce que j’ai mis dans mon appel de snippet :
          [!eForm? &formid=`ContactForm` &subject=`Formulaire de contact` &to=`[email protected],[email protected],[email protected]` &mailselector=`destinataire` &tpl=`ContactFormEcole` &report=`ContactFormReportEcole` !]

          Et voici la partie du template ContactFormEcole qui nous intéresse ici :
          	  <label for="cfDestinataire">Ce mail concerne</label>
          	  <select name="destinataire" id="cfDestinataire">
          	     <option value="[email protected]">le Secrétariat</option>
          	     <option value="[email protected]">un Contrat de Professionnalisation</option>
                       <option value="[email protected]">les Stages</option>
          	  </select>

          Malheureusement ça ne marche pas :quelque soit le destinataire choisi, le résultat du formulaire est tjrs envoyé sur la première email, càd [email protected]
          Il doit y avoir un truc qui m’échappe...
            • 28173
            • 409 Posts
            Un petit UP smiley
              • 10828 ☆ A M B ☆
              • 174 Posts
              Il faut que tu utilises au niveau des "value" l’identifiant de l’adresse dans la liste "to" et nom l’adresse email. Ton SELECT devient donc :

              <label for="cfDestinataire">Ce mail concerne</label>
              <select name="destinataire" id="cfDestinataire">
                  <option value="1">le Secrétariat</option>
                  <option value="2">un Contrat de Professionnalisation</option>
                  <option value="3">les Stages</option>
              </select>
              
                Ackwa - Web Design & Development agency | Tours - France | Follow me on Twitter...
                • 28173
                • 409 Posts
                Ah... ok mais dans ce cas je perds la valeur texte des champs ("le Secrétariat", "un Contrat de Professionnalisation" et "les stages")...
                Et dans mon cas actuel, ça ne m’arrange pas des masses....

                N’y aurait-il pas moyen d’avoir à la fois le beurre et l’argent du beurre ? smiley
                  • 10828 ☆ A M B ☆
                  • 174 Posts
                  Quote from: Spheerys at Mar 15, 2007, 08:21 AM

                  Ah... ok mais dans ce cas je perds la valeur texte des champs ("le Secrétariat", "un Contrat de Professionnalisation" et "les stages")...
                  Peux-tu préciser ton besoin, car ces valeurs sont dans le paramètre "to", qu’utilisera eForm pour sélectionner l’adresse de destination !? Par ailleurs, il est déconseillé de "laisser trainer" des adresses dans pages HTML wink
                    Ackwa - Web Design & Development agency | Tours - France | Follow me on Twitter...
                    • 28173
                    • 409 Posts
                    Peux-tu préciser ton besoin, car ces valeurs sont dans le paramètre "to", qu’utilisera eForm pour sélectionner l’adresse de destination !?
                    En fait je souhaite que le visiteur puisse choisir dans une liste entre ces 3 choix :
                    - "le Secrétariat"
                    - "un Contrat de Professionnalisation"
                    - "les Stages"

                    En fonction de ce choix, je souhaite que le formulaire soit destiné à une adresse email particulière smiley

                    Par ailleurs, il est déconseillé de "laisser trainer" des adresses dans pages HTML
                    Hummm tu veux parler du risque de spam ? Si c’est le cas tu as raison, je vais éditer tout ça smiley
                      • 10828 ☆ A M B ☆
                      • 174 Posts
                      Quote from: Spheerys at Mar 15, 2007, 08:30 AM

                      En fait je souhaite que le visiteur puisse choisir dans une liste entre ces 3 choix :
                      - "le Secrétariat"
                      - "un Contrat de Professionnalisation"
                      - "les Stages"

                      En fonction de ce choix, je souhaite que le formulaire soit destiné à une adresse email particulière smiley
                      C’est exactement ce que fera eForm si dans l’appel au Snippet tu utilises :
                      [!eForm? ..... &to=`[email protected],[email protected],[email protected]`&mailselector=`destinataire`...!]

                      Et si dans ton template tu déclare :
                      <select name="destinataire" id="cfDestinataire">
                          <option value="1">le Secrétariat</option>
                          <option value="2">un Contrat de Professionnalisation</option>
                          <option value="3">les Stages</option>
                      </select>


                        Ackwa - Web Design & Development agency | Tours - France | Follow me on Twitter...