Formulaire de contact

Résolu
cocodu67... Messages postés 3178 Date d'inscription   Statut Membre Dernière intervention   -  
cocodu67... Messages postés 3178 Date d'inscription   Statut Membre Dernière intervention   -
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

ReDLoG
 
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 3178 Date d'inscription   Statut Membre Dernière intervention   145
 
Donc je devrais remplacer la mailto par quoi ?
0
ReDLoG
 
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 3178 Date d'inscription   Statut Membre Dernière intervention   145
 
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