Verification formulaires

Résolu
djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015 - 25 janv. 2011 à 16:28
djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015 - 26 janv. 2011 à 13:48
Bonjour a tous.

depuis ce matin, j'ai remarqué un petit souci de programmation dans mes formulaires.

Ils sont faits en php, par contre, j'utilise une fonction javascript pour vérifier que les champs sont bien remplis.

Mon problème : quand je valide en cliquant sur le bouton submit, j'ai bien mon message d'erreur si le champs est mal remplis, mais en cliquant sur ok de la boite de dialogue affiché, le formulaire est envoyé.
Alors qu'il aurait simplement du mettre le focus sur le champs mal rempli.

Pour mieux me faire comprendre voila mon formulaire:
<form method="post" action="#.php" onSubmit="return checkform(this);">


</form>

Et voila ma fonction javascript:
<script language="JavaScript" type="text/javascript">
function checkform ( form )
{
var email = form.email.value;
if (email.search(/^[_a-z0-9-]+(.[_a-z0-9-]+)*[^._-]@[a-z0-9-]+(.[a-z0-9]{2,4})*$/) == -1)
{
alert( "Vous avez omis de saisir votre email !" );
email.focus();
return false;
}
}
</script>

Si le champs email est mail rempli : on ne devrait pas pouvoir acceder à #.php.

Moi c'est le problème que j'ai. Avez-vous déjà rencontré de ce problème ? Comment pourrais-je le résoudre ?

Merci d'avance ...

1 réponse

djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015
26 janv. 2011 à 13:48
Bonjour a tous,

Sa y est, j'ai trouvé le bug. En fait dans ma fonction javascript de vérification, il y a une erreur de codage, et je viens tout juste de m'en rendre compte.

Voici l'erreur : "email.focus();" car la valeir de "mail" est "form.email.value".
Or je devrai avoir form.email.focus();

C'est le champs qui doit garder le focus, pas la valeur du champs...

Du coup, ben gros bug. Voila
3
Rejoignez-nous