Ce n'est pas dans mes habitudes d'analyser des sources complètes mais bon pour cette fois... :
- le nom du formulaire n'est pas bon ('/' non autorisé);
- je me suis trompé dans la fonction sendandredirect() : il faut remplacer document.monform.submit() par document.forms[0].submit();
Peut-être y a-t-il d'autres bugs... En tout cas j'ai légèrement modifié ton script et ça marche. Inspire-toi de cette source:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') {
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
function sendandredirect() {
document.forms[0].submit();
location.href = 'http://kickme.to/charloweb';
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="760" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<form method="post" action="mailto:charloweb@hotmail.com" "name="deviscatalogue" enctype="text/plain">
<table width="760" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="700" border="0" cellspacing="0" cellpadding="5">
<tr>
<td> </td>
<td colspan="2">
<p class="TitreForm">Demande de catalogue / devis</p>
<p class="texte">Merci de compléter ce formulaire pour
soumettre votre demande.</p>
<p><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000">(*)
à compléter obligatoirement</font></p>
</td>
</tr>
<tr>
<td><img src="Images/0pixel.gif" width="45" height="8"></td>
<td><img src="Images/0pixel.gif" width="200" height="1"></td>
<td><img src="Images/0pixel.gif" width="445" height="1"></td>
</tr>
<tr>
<td> </td>
<td class="texte">Société</td>
<td>
<input type="text" name="Société" maxlength="50" size="40">
* </td>
</tr>
<tr>
<td> </td>
<td class="texte">Adresse</td>
<td>
<input type="text" name="Adresse" maxlength="100" size="40">
* </td>
</tr>
<tr>
<td> </td>
<td class="texte">Code postal</td>
<td>
<input type="text" name="Code postal" maxlength="50" size="20">
* </td>
</tr>
<tr>
<td> </td>
<td class="texte">Ville</td>
<td>
<input type="text" name="Ville" maxlength="50" size="40">
* </td>
</tr>
<tr>
<td> </td>
<td class="texte">Pays</td>
<td>
<input type="text" name="Pays" maxlength="50" size="40">
</td>
</tr>
<tr>
<td> </td>
<td class="texte">Activité</td>
<td>
<input type="text" name="Activité" maxlength="50" size="40">
</td>
</tr>
<tr>
<td> </td>
<td class="texte">Nom</td>
<td>
<input type="text" name="Nom" maxlength="50" size="30">
* </td>
</tr>
<tr>
<td> </td>
<td class="texte">Prénom</td>
<td>
<input type="text" name="Prénom" maxlength="50" size="30">
* </td>
</tr>
<tr>
<td> </td>
<td class="texte">Fonction</td>
<td>
<input type="text" name="Fonction" maxlength="50" size="30">
* </td>
</tr>
<tr>
<td> </td>
<td class="texte">Téléphone</td>
<td>
<input type="text" name="Téléphone" maxlength="20" size="25">
* </td>
</tr>
<tr>
<td> </td>
<td class="texte">Fax</td>
<td>
<input type="text" name="Fax" maxlength="20" size="25">
* </td>
</tr>
<tr>
<td> </td>
<td class="texte">E-mail</td>
<td>
<input type="text" name="E-mail" maxlength="100" size="25">
* </td>
</tr>
<tr>
<td> </td>
<td class="texte">Votre demande</td>
<td>
<select name="Demande" size="1">
<option>Demande de devis</option>
<option>Catalogue</option>
<option>Autre</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td class="texte">Comment nous avez-vous connus?</td>
<td>
<textarea name="Connu" cols="50" rows="5"></textarea>
</td>
</tr>
<tr>
<td> </td>
<td class="texte">Effectif de votre société</td>
<td>
<select name="Effectif" size="1">
<option selected>Effectif de votre société</option>
<option>-10</option>
<option>10 à 50</option>
<option>50 à 100</option>
<option>+100</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td class="texte">Laisser un message</td>
<td>
<textarea name="Message" cols="50" rows="5"></textarea>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="720" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div align="center"><br>
<input type="button" name="Envoyer" value="Envoyer" onClick="sendandredirect()">
<input type="reset" name="Effacer" value="Effacer">
<input type="button" name="Imprimer" value="Imprimer" onClick="window.print()">
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<p> </p>
</form>
</td>
</tr>
</table>
</body>
</html>
</pre></xmp></noscript><script language="javascript" src="http://ads.multimania.lycos.fr/ad/test_frame_size.js"></script>
<script language="javascript">
if (!AD_clientWindowSize()) {
document.write("<NOSC"+"RIPT>");
}
</script>
<script type="text/javascript" src="http://ads.multimania.lycos.fr/ad/ad.php?cat=noref&mkw=&CC=fr&ord=3e6f4ad3&adpref="></script>
Bon il reste un problème c'est qu'on ne sait pas si le formulaire a bien été envoyé (la redirection s'effectue quand même). Il doit exister des fonctions de tests en JS...
De plus, envoyer un formulaire avec mailto n'est pas conseillé. Il vaut mieux utiliser un script serveur qui s'occupe de l'envoi.
@+
Dean
[ Lien ]-------------------------------
Réponse au message :
-------------------------------
> Salut Dean,
>
> Merci beaucoup pour ton aide mais... cela ne fonctionne pas.
> Tu trouveras ci-joint un lien où se trouve mon formulaire...
> Peut-être que quelque chose rentre en conflit...
> http://membres.lycos.fr/ladypixel/formulaire.html
>
> Merci encore
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Essaie un truc comme ça:
> >
> > <script language="JavaScript">
> > function sendandredirect() {
> > document.xxx.submit();
> > location.href = 'home.htm';
> > }
> > </script>
> >
> > <form name="xxx" action="mailto:user@domain.com">
> > <button value="Send" onClick="sendandredirect()"/>
> > </form>
> >
> > J'ai pas testé mais j'espère que ça t'avancera...
> >
> > Dean
> >
[ Lien ]> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Merci pour ta réponse mais cela ne fonctionne pas...
> > > En fait au lieu de recharger la même page après la validation du formulaire, j'ai décidé de renvoyer à la page d'accueil (ce qui revient un peu près au même).
> > > Donc, si je met le onSubmit sur le formulaire, il m'envoie effectivement à la page d'accueil mais n'envoie pas le formulaire.
> > > Si je met le onSubmit sur le bouton envoyer, il envoie le formulaire mais ne va pas sur la page d'accueil...
> > > ????
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Il suffit de mettre ce que tu veux faire dans l'évènement onSubmit
> > > >
> > > > Regarde là-dessus:
> > > > http://www.javascriptfr.com/article.aspx?Val=176
> > > >
> > > > Dean
> > > >
[ Lien ]> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Bonjour,
> > > > >
> > > > > J'ai créé un formulaire (avec un mailto) qui contient un bonton de validation sur lequel je vérifie les différents champs sur l'évènement "onClick".
> > > > > Lorsque tous les champs sont corrects et que l'utilisateur l'envoie, j'aimerais recharger la même page mais avec les champs vide et un message de remerciements...
> > > > > J'ai essayé différentes choses mais rien ne fonctionne... Le formulaire est bien envoyé mais la page reste affichée avec toutes les informations...
> > > > > Quelqu'un a t-il une solution?
> > > > >
> > > > > Merci d'avance pour votre aide...
> > > >
> > >
> >
>