|
||
| Développement Web > |
||
| Lorsque vous voulez créer un
formulaire qui envoie un mail... voici quelques conseils et règles : |
| |
|
| L'ACTION du lien est : " mailto:email@provider.com " |
|
| Pour envoyer le mail à plusieurs personnes, il faut mettre un point-virgule entre les mails des destinataires : " mailto:email1@provider.com;email2@provider.com " | |
| Ce qui nous donne en final : | |
| <A HREF="mailto:email@provider.com?subject=sujet du message&body=corps du message">Envoyer un mail</A> | |
| Exemple : Envoyer un mail |
| |
|
| Le formulaire doit contenir TOUS les champs
sinon ils ne seront pas envoyés : les éléments qui composent le formulaire doivent se trouver ENTRE les balises <FORM> et </FORM> |
|
| L'ACTION du formulaire est : " mailto:email@provider.com
" avec une commande " POST " ; vous pouvez compléter la ligne avec " ...?subject=sujet " pour que le mail possède un sujet pré-rempli. |
|
| Pour envoyer le mail à plusieurs personnes, il faut mettre un point-virgule entre les mails des destinataires : " mailto:email1@provider.com;email2@provider.com " | |
| |
|
| |
|
| affiche un champ texte d'une longueur de 40 caractères (nommé NOM ) : | |
| <INPUT TYPE="TEXT" SIZE="40" NAME="NOM"> | |
| affiche un champ texte de 10 lignes et 40 caractères de large (nommé MESSAGE) : | |
| <TEXTAREA NAME="MESSAGE" ROWS="10" COLS="40">Texte pré-rempli</TEXTAREA> | |
| affiche le bouton pour envoyer le formulaire (avec ENVOYER écrit sur le bouton) : | |
| <INPUT TYPE="SUBMIT" VALUE="ENVOYER"> |
| |
|
| <FORM METHOD="post" ACTION="mailto:email@provider.com?subject=sujet" <INPUT TYPE="TEXT" SIZE="40" NAME="NOM"> <TEXTAREA NAME="MESSAGE" ROWS="3" COLS="40">Texte pré-rempli</TEXTAREA> <INPUT TYPE="SUBMIT" VALUE="ENVOYER"> </FORM> |
|
| Etant donné que le mail est envoyé à partir
d'une commande standard (mailto:), on ne peut pas savoir si : - l'utilisateur a un logiciel de messagerie installé - l'utilisateur a bien envoyé le mail |
|
| Ce qui fait qu'il ne sert à rien d'afficher une page de remerciement genre "merci de votre mail, on va vous répondre" car le mail n'est peut être pas parti. | |
| Si vous voulez qq chose comme ça, un peu plus d'interactivité, quoi.... il vous faut un script sur le serveur (en perl, php3, ...) qui analyse, envoie le mail et retourne une page de confirmation ; mais c'est pas la même chose. | |
| sinon, si vous voulez vraiment afficher quelque chose, regardez par ici. |
| Continuons... vous avez des champs que vous voulez rendre obligatoire à la saisie ; avec un script sur le serveur, vous pouvez contrôller et renvoyer une page d'erreur. Ici, on ne peut pas alors il faut ajouter un peu de Javascript pour faire les contrôles en local avant d'envoyer. | |
| dans la ligne de commande, on va ajouter l'appel à une fonction de vérification: | |
| <FORM ... name="F" onSubmit="return check()"> | |
| cette fonction check, il suffit de la mettre entre les balises <HEAD> et </HEAD> | |
| <SCRIPT language="JavaScript"> !-- function check() { if (document.F.email.value == "") { alert("Email obligatoire.\n"); return false; } return true; } // --> </SCRIPT> |
- On a donné un nom au formulaire
(ici, F). Attention, les majuscules / minuscules sont importantes. |
| Ce qui nous donne en version complète : | |
| <FORM METHOD="post" ACTION="mailto:email@provider.com?subject=sujet" NAME="F" onSubmit="return check()" ENCTYPE="text/plain"> |
|
| |
|||||||
| |