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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : JS de vérification fonctionne sur FF mais pas sur IE

par xs_stef » 05 mai 2006, 12:00

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 ;)

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

par Shrell » 05 mai 2006, 11:52

<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 ;)

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

par xs_stef » 04 mai 2006, 11:22

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; } //-->