Vérification des champs javascript

Fermé
john - 21 nov. 2011 à 21:09
Shymon Messages postés 145 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 25 novembre 2012 - 27 nov. 2011 à 16:22
Bonjour,
j'ai utilisé un code que j'ai trouvé sur internet pour vérifier les champs d'un formulaire, le problème c'est qu'il ne vérifie que les deux premier et puis décide de ne pas s'occupé du 3eme (et donc, de ceux qui suivent).
<script type="text/javascript">
function verif()
{
if(document.formulaire.nom.value == "")
{
alert("Veuillez entrer votre nom !");
document.formulaire.nom.focus();
return false;
}
if(document.formulaire.prenom.value == "")
{
alert("Veuillez entrer votre prenom !");
document.formulaire.prenom.focus();
return false;
}
if(document.formulaire.civilite.value == "")
{
alert ("Veuillez entrer votre civilité");
document.formulaire.civilite.focus();
return false;
}
}
</script>


1 réponse

Shymon Messages postés 145 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 25 novembre 2012 59
21 nov. 2011 à 23:20
Salut,

Tu pourrais nous donner aussi le code html de ton formulaire ?

Simon
0
ouep'
<form method=post action="mail.php" width="1000px" name="formulaire">
<table border="0" align="center" width="1015px">
<tr width="1015">
<td class="contact">Nom *<br/>
<input size="40" type=text name="nom">
</td>
<td class="contact">Prénom *<br/>
<input size="40" type=text name="prenom">
</td>
</tr>

et ça continue avec les tr après, j'ai remarqué qu'en fait le code javascript refuse de vérifier ce qui se trouve en dehors du premier tr. Il faudrais donc que j'essai de simuler les tr avec un span...
0
Shymon Messages postés 145 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 25 novembre 2012 59
23 nov. 2011 à 19:56
Hum ... c'est justement ce qu'il y a dans les <tr> suivants qui nous intéresse !
J'ai essayé ton code en ajoutant un <tr> avec un input "civilite" dedans, et ça marche très bien ;)
Donne ton formulaire en entier, tu as surement une erreur dedans.
0
<form method=post action="mail.php" width="1000px" name="formulaire">
<table border="0" align="center" width="1015px">
<tr width="1015">
<td class="contact">Nom *<br/>
<input size="40" type=text name="nom">
</td>
<td class="contact">Prénom *<br/>
<input size="40" type=text name="prenom">
</td>
</tr>

<tr width="1015">
<td class="contact">Civilité *<br/>
M.<input type=radio name="civilite" value="HOMME">
Mme<input type=radio name="civilite" value="FEMME">
</td>
<td class="contact">Fonction *<br/>
<input size="40" type=text name "fonction">
</td>
</tr>

<tr width="1015">
<td class="contact">Société *<br/>
<input size="40" type=text name "entreprise">
</td>
<td class="contact">Domaine d'activité *<br/>
<input size="40" type=text name "domaine_d_activite">
</td>
</tr>

<tr width="1015">
<td class="contact">Adresse *<br/>
<input size="40" type=text name "adresse">
</td>
<td class="contact">Ville *<br/>
<input size="40" type=text name "Ville">
</td>
</tr>

<tr width="1015">
<td class="contact">Code Postal *<br/>
<input size="40" type=text name "code_postal">
</td>
<td class="contact">Pays *<br/>
<input size="40" type=text name "Pays">
</td>
</tr>

<tr width="1015">
<td class="contact">Téléphone *<br/>
<input size="40" type=text name "téléphone">
</td>
<td class="contact">Téléphone portable *<br/>
<input size="40" type=text name "téléphone_portable">
</td>
</tr>

<tr width="1015">
<td class="contact">Télécopie *<br/>
<input size="40" type=text name "télécopie">
</td>
<td class="contact">Adresse électronique *<br/>
<input size="40" type=text name "Email">
</td>
</tr>
</table>
<table align="center">
<tr>
<td class="contact">Objet *<br/>
<input style="width:1000px;" size="66" type=text name "objet">
</td>
</tr>
<tr>
<td class="contact">Texte *<br/>
<textarea cols="50" style="width:1000px;height:277px;" rows="15" name="texte" onclick='javascript:this.value = "";'>Tapez votre texte ici.</textarea>
<br/><span class="obli">les champs marqués d'une * sont obligatoires.</span>
</td>
</tr>
<tr>
<td COLSPAN=2>
<center><INPUT type="submit" value="Envoyer" onClick="return verif_formulaire()"></center>
</td>
</tr>
</table>
</form>
0
sachant que j'ai renommé la fonction verif en verif_formulaire
0
Shymon Messages postés 145 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 25 novembre 2012 59
Modifié par Shymon le 27/11/2011 à 16:24
Il te manque des = pour presque tout les noms d'input.
ex:
name="code_postal"
et non
name "code_postal"
.
Je suis un peu blasé d'avoir passé du temps pour une erreur que tu aurais pu trouver facilement si tu avais relu ton code une fois ...

Quoi qu'il en soit, il est toujours préférable de lancer la validation javascript avec un "onSubmit" plutôt que dans un bouton comme tu l'as fait :
enlève du bouton valider :
onClick="return verif_formulaire()"
et rajoute dans ta balise form :
onsubmit="return verif_formulaire()"


Les raisons sont expliquées ici par exemple : openweb.eu.org/articles/validation_formulaire
0