Probleme controle formulaire

jerem206 Messages postés 2 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 21 septembre 2005 - 20 sept. 2005 à 23:42
bontbont Messages postés 5 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 3 octobre 2005 - 3 oct. 2005 à 15:31
Bonjour à tous, je suis débutant en javascript, je cherche a faire des
contrôles sur la saisie d'un formulaire. J'ai un problème au niveau du
controle de saisie du login qui n'accepte que les caractères
alphanumériques sous firefox. en effet quand je teste le script sous ie
ca marche mais sous firefox même quand je met des chiffres dans le
champs de texte login il me dit qui y a des caractères spéciaux. par
contre si je rappuie une deuxième fois sur valider ca marche, c'est
bizarre.

si quelqu'un peut m'aider à améliorer la partie qui controle les caractères spéciaux ca serait sympa merci.



<script type="text/javascript">



function controle() {

var login = document.forms["inscription"].elements["login"].value;

var pass1 = document.forms["inscription"].elements["pass1"].value;

var pass2 = document.forms["inscription"].elements["pass2"].value;

var mail = document.forms["inscription"].elements["mail"].value;

var verif = /^[a-zA-Z0-9]+$/gi;



if (login == "" || login.length < "2" || login.length > "9") {

alert("Veuillez saisir un login entre 2 et 9 caractères!");

return false;

}



if (verif.test(login)==false) {

alert("caractères spéciaux");

return false;

}



if ( pass1 == "" || pass1.length < "4" || pass1.length > "8" ) {

alert("Veuillez saisir un pass entre 4 et 8 caractères");

return false;

}

if (pass1 != pass2) {

alert("Les mots de pass saisies ne sont pas identiques");

return false;

}

if (mail.indexOf('@') == -1) {

alert("Ce n'est pas une adresse électronique!");

return false;

}

}

</script>

5 réponses

Phil_Free Messages postés 275 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 28 avril 2006 11
21 sept. 2005 à 18:58
Salut,



Plutôt que:



document.forms["inscription"].elements["login"].value



Tu devrais plutôt utiliser:

document.getElementById("login").value


Dans ton HTML il faut que ton Input ait:

name="login" ET id="login"
0
jerem206 Messages postés 2 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 21 septembre 2005
21 sept. 2005 à 23:06
oui tu as raison c'est mieu mais ca ne résolu pas mon problème
malheuresement. je comprend pas cet erreur c'est trop bizarre, avec
mozilla firefox
si je met que des chiffres dans le champs de saisie "login" et que je
laisse vide les autres champs. j'appuie une fois sur valider j'ai :


alert("Veuillez saisir un pass entre 4 et 8 caractères");


mais si je ne change absolument rien et que je rappuie une deuxieme fois j'ai :


alert("caractères spéciaux"); alors qu'il y a que des chiffres ???





voici le code du formulaire au cas ou :





<form enctype="multipart/form-data" action="inscriptions.php"
method="post" onSubmit="return controle()" name="inscription">


Login :,

,

<!-- 2eme ligne -->

----

Mot de passe :,

,

<!-- 3eme ligne -->

----

Confirmer le passe :,

,

----

Adresse E-Mail :,



&nbsp; &nbsp; &nbsp; &nbsp;Tous les champs sont
obligatoires.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Le Login est déja utilisé








<center>


</center>


</form>





voilà si quelqu'un peut m'aider. Merci
0
Phil_Free Messages postés 275 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 28 avril 2006 11
21 sept. 2005 à 23:33
As-tu testé ton expression régulière ? ICI
0
Phil_Free Messages postés 275 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 28 avril 2006 11
21 sept. 2005 à 23:42
J'ai remarqué ça dans ton HTML:



<td width='223'></td>



Tu essayes de mettre une variable PHP ici ?



Si c'est le cas, ce devrait être:



<td width='223'>'></td>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bontbont Messages postés 5 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 3 octobre 2005
3 oct. 2005 à 15:31
bonjour,

j'ai exactement le meme probleme...
je viens de supprimer le g (pour toi dans : var verif = /^[a-zA-Z0-9]+$/gi;), et cela a l'air de marcher (sur toute la chaine de caractere)...

cordialement.
0
Rejoignez-nous