Page 1 sur 1

JS de vérification fonctionne sur FF mais pas sur IE

Posté : 04 mai 2006, 11:22
par xs_stef
Bonjour,
pour mon premier post ici (j'espère respecter les usages du lieu), j'ai un soucis de vérification de données d'un formulaire.
Le script fonctionne sur Firefox, mais sans succès sur InternetExplorer qui en dehors du fait de ne rien vérifier (c'est plus de ma faute que de la sienne), me retourne une erreur sur une Instruction 'return' en dehors d'une fonction.

Je met le code incriminé si dessous,
votre aide est bienvenue,
Merci

dans la page php ouverture de la balise form :
<form id="nomForm" name="nomForm" method="post" action="" onSubmit="validateForm(this)">
le javascript :

Code : Tout sélectionner

// JavaScript Document <!-- /* ------------------------------------------------------------------------------------- FONCTIONS DE VERIFICATION */ // Vérifie si un champ a bien été renseigné function isNotEmpty(elem) { var str = elem.value; var re = /.+/; if(!str.match(re)) { alert("Veuillez renseigner les champs obligatoires.\n"); setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); return false; // LA LIGNE QUI SEMBLE POSER PROBLEME } else { return true; } } // Vérifie si l'adresse e-mail est valide function isEMailAddr(elem) { var str = elem.value; var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/; if (!str.match(re)) { alert("Veuillez verifier le format de l'adresse e-mail.\n"); setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); return false; } else { return true; } } // Positionne le curseur dans un champ donné function focusElement(formName, elemName) { var elem = document.forms[formName].elements[elemName]; elem.focus(); elem.select(); } /* ------------------------------------------------------------------------------------- BOUCLE DE VALIDATION */ function validateForm(form) { alert('validation'); if (isNotEmpty(form.prenom)) { if (isNotEmpty(form.nom)) { if (isNotEmpty(form.adrMail)) { if (isEMailAddr(form.adrMail)) { return true; } } } } return false; } //-->

Re: JS de vérification fonctionne sur FF mais pas sur IE

Posté : 05 mai 2006, 11:52
par Shrell
<form id="nomForm" name="nomForm" method="post" action="" onSubmit="validateForm(this)">
déja ici, le code devrait etre
<form id="nomForm" name="nomForm" method="post" action="" onSubmit="return validateForm(this)">
ensuite j'ai vu ça :

Code : Tout sélectionner

setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
pas besoin d'une fonction, ceci suffit :

Code : Tout sélectionner

elem.focus();
Après ça me semble correct, faut tester ;)

Posté : 05 mai 2006, 12:00
par xs_stef
Merci pour ton aide, je teste dès que possible, j'attends la livraison de mon O'Reilly sur javascript, ça ira sans doute mieux après ;)