Formulaire de contact

Résolu/Fermé
cocodu67... Messages postés 3153 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 4 avril 2024 - Modifié par cocodu67... le 8/03/2013 à 22:37
cocodu67... Messages postés 3153 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 4 avril 2024 - 8 mars 2013 à 23:19
Bonsoir,

J'ai créé un formulaire de contact dont voici le code :

<HTML> 
<HEAD><TITLE>Votre avis</TITLE></HEAD> 
<script language="javascript" src="fonction_formulaire.js"> 
</script> 
<BODY> 
<H1>Votre avis sur ce cours</H1><HR> 
<FORM NAME="formu" METHOD="post" ENCTYPE="text/plain"> 
Votre avis : <SELECT NAME="sel"> 
<OPTION>Ce cours est très bien fait.</OPTION> 
<OPTION>Ce cours est bien (sans plus).</OPTION> 
<OPTION SELECTED>Ce cours est moyen, et pas assez complet.</OPTION> 
<OPTION>Ce cours est très médiocre.</OPTION> 
<OPTION>Je n'y reviendrai plus jamais!</OPTION> 
</SELECT><BR> 
Si vous avez des remarques supplémentaires :<BR> 
<TEXTAREA NAME="libre" COLS="35" ROWS="5"></TEXTAREA> 
<BR>Votre adresse e-mail :  
<INPUT TYPE="text" NAME="adr" WIDTH="40"> 
<BR><INPUT TYPE="reset" VALUE="Effacer">  
<INPUT TYPE="submit" VALUE="Envoyer" ONCLICK="envoi();"> 
</FORM><HR> 
</BODY></HTML> 


Et voici le fichier javascript :

function envoi() { 
 // par défaut, pas d'envoi 
 document.formu.action=""; 
 // recherche de @ dans l'adresse 
 var address=window.document.formu.adr.value; 
 var pos=address.indexOf("@"); 
 if (address=="") { 
  alert("Vous devez donner une adresse e-mail."); 
 } 
 else { 
  if (pos==-1 || pos==0 || pos==address.length-1) { 
   alert("Une adresse e-mail a le format nom@domaine"); 
  } 
  else // tout va bien, on envoie le formulaire 
   document.formu.action='mailto:mon adresse@orange.fr?subject="Cours JavaScript"'; 
 } 
} 


La vérification se passe très bien mais lorsque je clique sur le bouton envoyé en ayant marqué une adresse mail valide, j'ai windows live messenger qui s'ouvre avec un mail ayant l'objet et le message préremplit.
J'ai modifié mon adresse mail dans le code javascript afin de ne pas la mettre à la vue de tous.
J'aimerais savoir si je peux faire en sorte que ça envoie directement le formulaire sur l'adresse mail lorsque je clique sur envoyer et que ça n'ouvre donc pas windows live mail et que je dois cliquer sur envoyer pour le mail préremplit.

Pour le moment c'est juste en local, donc pas besoin de captcha pour empêcher le flood.

Merci d'avance de votre aide :)

1 réponse

Bonsoir,

Comportement normal puisque dans ta fonction javascript tu définis un mailto au moment de la soumission du formulaire, donc côté client avant que ton script soit traité côté serveur (par PHP?).
0
cocodu67... Messages postés 3153 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 4 avril 2024 145
8 mars 2013 à 23:04
Donc je devrais remplacer la mailto par quoi ?
0
Tu supprimes la ligne concernée dans la fonction javascript, ta fonction doit renvoyer true ou false puis dans l'attribut action de ton formulaire mettre la cible sur un script PHP qui fera le traitement et dans lequel tu utiliseras la fonction mail().
Cdlt.
0
cocodu67... Messages postés 3153 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 4 avril 2024 145
8 mars 2013 à 23:19
Ah d'accord ça devient beaucoup plus clair^^

Je verrais cela lorsqu'on aura commencé le PHP en cours, pour le moment je vais me contenter de mailto puisque le html et javascript ne suffisent plus pour faire cela.

Je reviendrais éventuellement en cas de soucis avec le php le moment venu.

Je passe en résolu.

Merci de ton aide et bonne soirée
0