script validation
Posté : 04 janv. 2008, 18:18
Bonjour à tous,
J'ai trouvé la technqiue suivante sur internet pour valider un formulaire
Voyez vous pourquoi?
Je voudrais enfait que la fonction valider n'envoie qu'un message à la fois, dans l'ordre des champs du form.
Si par exemple j'ai 10 champs et que le 2ème le 3ème et le 4ème ne sont pas remplis, afficher une alerte uniquement pour le 2ème.
L'erreur pour le 3ème n'apparaitra que si le 2ème est rempli, ainsi de suite.
Merci pour vos réponses.
J'ai trouvé la technqiue suivante sur internet pour valider un formulaire
function valider(){
// si la valeur du champ prenom est non vide
if(document.formSaisie.prenom.value != "") {
// les données sont ok, on peut envoyer le formulaire
return true;
}
else {
// sinon on affiche un message
alert("Saisissez le prénom");
// et on indique de ne pas envoyer le formulaire
return false;
}
}
et le formulaire
<form action="url_page_suivante" onsubmit="return valider()"
method="get" name="formSaisie">
<p>
<label for="prenom">Saisissez votre prénom :</label>
<input type="text" name="prenom" id="prenom" />
<input type="submit" value="Ok" />
</p>
</form>
Le principe marche bien pour un champ. Le problème survient quand j'ajoute un test dans la fonction de validation, pour un champ nom par exemple:function valider(){
if(document.formSaisie.prenom.value != "") {
return true;
}
else {
alert("Saisissez le prénom");
return false;
}
if(document.formSaisie.nom.value != "")
{
return true;
}
else
{
alert("Saisissez le nom");
return false;
}
}
Dans ce dernier cas, le 1er test prénom est effectué, mais jamais le 2ème sur le nom.Voyez vous pourquoi?
Je voudrais enfait que la fonction valider n'envoie qu'un message à la fois, dans l'ordre des champs du form.
Si par exemple j'ai 10 champs et que le 2ème le 3ème et le 4ème ne sont pas remplis, afficher une alerte uniquement pour le 2ème.
L'erreur pour le 3ème n'apparaitra que si le 2ème est rempli, ainsi de suite.
Merci pour vos réponses.