Page 1 sur 1

vérification formulaire

Posté : 13 juin 2006, 16:27
par béka
Bonjour, je fais un script javascript qui permet de vérifier si des champs d'un formulaire sont correctement saisis

Voila mon code :

Code : Tout sélectionner

function check() { var msg = ""; //ici nous vérifions si le champs nom_etudiant est vide, changeons la couleur du champs et définissons un message d'alerte if (document.log_etudiant.nom_etudiant.value == "") { msg += "Veuillez saisir votre nom\n"; document.log_etudiant.nom_etudiant.style.backgroundColor = "#F3C200"; } //ici nous vérifions si le champs prenom_etudiant est vide, changeons la couleur du champs et définissons un message d'alerte if (document.log_etudiant.prenom_etudiant.value == "") { msg += "Veuillez saisir votre prénom\n"; document.log_etudiant.prenom_etudiant.style.backgroundColor = "#F3C200"; } //ici nous vérifions si le champs adresse_etudiant est vide, changeons la couleur du champs et définissons un message d'alerte if (document.log_etudiant.adresse_etudiant.value == "") { msg += "Veuillez saisir une adresse\n"; document.log_etudiant.adresse_etudiant.style.backgroundColor = "#F3C200"; } //ici nous vérifions si le champs ville_etudiant est vide, changeons la couleur du champs et définissons un message d'alerte if (document.log_etudiant.ville_etudiant.value == "") { msg += "Veuillez saisir une ville\n"; document.log_etudiant.ville_etudiant.style.backgroundColor = "#F3C200"; } //ici nous vérifions si le champs password_etudiant est vide, changeons la couleur du champs et définissons un message d'alerte if (document.log_etudiant.password_etudiant.value == "") { msg += "Veuillez saisir un mot de passe\n"; document.log_etudiant.password_etudiant.style.backgroundColor = "#F3C200"; } //ici nous vérifions si le champs cp_classe est vide, changeons la couleur du champs et définissons un message d'alerte if (document.log_etudiant.cp_etudiant.value == "") { msg += "Veuillez saisir un Code postal\n"; document.log_etudiant.cp_etudiant.style.backgroundColor = "#F3C200"; } //verif mail var email = document.log_etudiant.email_etudiant.value; if (email.search(/^[^._-][a-z0-9._-]+[^._-]@[a-z0-9._-]+([a-z0-9]+[^._-])?[.-]+[a-z]{2,4}$/) == -1) { msg += "Veuillez entrer une adresse mail valide\n"; document.log_etudiant.email_etudiant.style.backgroundColor = "#F3C200"; } //Si aucun message d'alerte a été initialisé on retourne TRUE if (msg == "") return(true); //Si un message d'alerte a été initialisé on lance l'alerte else { alert(msg); return(false); } }
et dans mon formulaire, j'appele donc cette fonction :

Code : Tout sélectionner

<form name="log_etudiant" method="post" action="enregistrement.php" onSubmit="return check();">
Seulement voila, l'enregistrement s'efectue quand même, les variables sont bien passées à la page enregistrement.php.
Les champs qui sont mal saisis apparaissent en jaune (ce qui est normal) mais j'ai pas de message d'erreur?
Pourquoi? qu'est-ce que j'ai fait de mal?

Posté : 13 juin 2006, 19:42
par Cyrano
essaye donc "return false;" sans les parenthèses...

Posté : 14 juin 2006, 08:05
par béka
a mettre après return check() ?

Posté : 14 juin 2006, 15:31
par Invité
le

Code : Tout sélectionner

return check();
est l'erreur la plus courante des formulaires qui se valident tout seul.

Il FAUT que l'évènement OnSubmit reçoivent 'false' pour arrêter l'envoi du formulaire.

Mais comme tu dis l'avoir fait, je ne pensess pas que ca vienne de la.

Essayes d'ajouter cela

Code : Tout sélectionner

onSubmit="javascript:return check();"
Et de mettre un
return(false); puis un return false;, etc au tout début de ta fonction, histoire de voir si cela ne viendrai pas de la syntaxe.

Posté : 15 juin 2006, 09:13
par béka
maintenant tout marche, j'ai uniquement changer le nom du formulaire et il n'y a plus de probleme..
merci