validation formulaire

hervé1999
Invité n'ayant pas de compte PHPfrance

13 sept. 2006, 11:32

bonjour, je débute en javascript et j'ai un petit problème avec mon scripte ci-dessous car lorsque je valide je souhaite controler les champs mais celui me mets bien une erreur au 1er champs vide et passe ensuite directement à la page "résultat" sans controlé le reste !
Pouvez vous m'aidez svp ?
et une dernière question faut il tester si javascript est activé quant on valide le formulaire ou au cargement de la page ?
merci.

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>..............</title> <SCRIPT language=javascript> alert("Javascrit actif"); </SCRIPT> <NOSCRIPT> Pas de javascript ! </NOSCRIPT> <script type="text/javascript"> <!-- function verif_formulaire() { if(document.formulaire.realname.value == "") { alert("Veuillez entrer votre nom!"); document.formulaire.nom.focus(); return false; } if(document.formulaire.email.value == "") { alert("Veuillez entrer votre adresse électronique!"); document.formulaire.courriel.focus(); return false; } if(document.formulaire.email.value.indexOf('@') == -1) { alert("Ce n'est pas une adresse électronique!"); document.formulaire.courriel.focus(); return false; } if(document.formulaire.title.value == "") { alert("Veuillez entrer votre âge!"); document.formulaire.age.focus(); return false; } if(document.formulaire.comments.value == "") { alert("Veuillez entrer votre commentaire"); document.formulaire.age.focus(); return false; } } //--> </script> </head> <body> <form name="formulaire" method="POST" action="formmail.php" onSubmit="return verif_formulaire()"> <input type=hidden name=subject value=formmail> <p class="formulaire"> <label>Votre Nom:</label><br /> <input type=text name=realname size=30> </p> <p class="formulaire"> <label>Votre Email:</label><br /> <input type=text name=email size=30> </p> <p class="formulaire"> <label>Sujet:</label><br /> <input type=text name=title size=30> </p> <p class="formulaire"> <label>Commentaires:</label><br /> <textarea COLS=50 ROWS=6 name=comments></textarea> <p> <p class="formulaire"> <input type="submit" value="Envoyer"> <input type="reset" value="Annuler"> </p> </form>

Invité
Invité n'ayant pas de compte PHPfrance

13 sept. 2006, 13:10

:oops: :oops: :lol:
J'ai trouvéj'avais pas changer:

Code : Tout sélectionner

if(document.formulaire.realname.value == "") { alert("Veuillez entrer votre nom!"); document.formulaire.nom.focus(); return false; }
nom différent de realname !
sorry.

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

13 sept. 2006, 13:15

C'est normal tu as des erreurs dans les noms de tes zones dans les instructions qui font des 'focus()'
Mais aussi ta fonction ne retourne jamais 'true'

Correction:

Code : Tout sélectionner

function verif_formulaire() { if(document.formulaire.realname.value == "") { alert("Veuillez entrer votre nom!"); document.formulaire.realname.focus(); return false; } if(document.formulaire.email.value == "") { alert("Veuillez entrer votre adresse électronique!"); document.formulaire.email.focus(); return false; } if(document.formulaire.email.value.indexOf('@') == -1) { alert("Ce n'est pas une adresse électronique!"); document.formulaire.email.focus(); return false; } if(document.formulaire.title.value == "") { alert("Veuillez entrer le sujet!"); document.formulaire.title.focus(); return false; } if(document.formulaire.comments.value == "") { alert("Veuillez entrer votre commentaire"); document.formulaire.comments.focus(); return false; } return true; }
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène