Formulaire de contact sans PHP
Comprise par tous les navigateurs, mailto ouvre le client de messagerie par défaut. Ce n'est pas une fonction Javascript à proprement parler, il s'agit d'un attribut de lien qui s'utilise le plus souvent dans une page HTML sous la forme:<a href="mailto:user@domain.com?subject= sujet">Envoyer un email</a>
La syntaxe pour ajouter l'adresse du destinataire, le titre et le message:
mailto:adresse du destinataire?subject=titre du message&body=message
Formulaire HTML d'envoi d'un email
![ajax-mailto](http://www.fobec.com/CMS/userdata/member001/ajax-mailto.gif)
Code HTML du formulaire
Afin d'afficher un formulaire comprenant une adresse email, le sujet et le contenu du message, on peut utiliser le code HTML suivant:
<form method="" action="javascript:sendMail()">
<table border="0" cellspacing="1" width="400">
<tr>
<td width="98">Destinataire</td>
<td width="295">
<input type="text" id="edTo" size="39"></td>
</tr>
<tr>
<td width="98">Sujet</td>
<td width="295">
<input type="text" id="edSubject" size="39"></td>
</tr>
<tr>
<td width="98">Message</td>
<td width="295">
<textarea rows="3" id="edBody" cols="33"></textarea></td>
</tr>
</table>
<br>
<input type="submit" value="Envoyer" >
</form>
Fonctions javascript d'envoi du message
Au lieu d'appeler directement la fonction mailto dans le post du formulaire, la fonction send Mail() effectue les opérations suivantes:- tester les données saisies par l'internaute dans le formulaire,
- encoder les textes pour respecter le format des URL,
- rediriger l'internaute vers le logiciel de messagerie.
Note : La fonction sendMail() est à coller au dessus du code HTML du formulaire
<script language="Javascript" type="text/javascript">
function sendMail() {
<!--Tester les donnees-->
if (document.getElementById("edTo").value.length==0) {
alert("Saisir l'adresse du destinataire !!!");
return;
}
if (document.getElementById("edSubject").value.length==0) {
alert("Saisir le titre !!!");
return;
}
if (document.getElementById("edBody").value.length==0) {
alert("Ecrire le message !!!");
return;
}
<!--Encoder l'url mailto-->
var url="mailto:"+encodeURIComponent(document.getElementById("edTo").value)
+"?subject="+encodeURIComponent(document.getElementById("edSubject").value)
+"&body="+encodeURIComponent(document.getElementById("edBody").value);
<!--Ouvrir client messagerie-->
document.location=url;
}
</script>
A priori, cette solution ,'est pas la plus élégente pour permettre à l'internaute d'envoyer un message au webmaster du site internet. La principale force dans l'envoi d'un email sans PHP est qu'elle est très simple à mettre en place et que le message est envoyé à partir du logiciel de messagerie par défaut.