Control des champs d'un formulaire [Résolu]

Signaler
Messages postés
4
Date d'inscription
lundi 13 novembre 2000
Statut
Membre
Dernière intervention
30 mai 2005
-
Messages postés
275
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
28 avril 2006
-
Bonsoir,

j'ai créé un formulaire, avec pour l'instant 2 champs.
Ces 2 champs ont un format spécial.
le premeir c'est 5 chiffres + une lettre maj
le second c'est 10 chiffres (c'est un num de téléphone)

je controle que le champ soit bien remplis avant de l'envoyer (ça, ça marche du tonnerre de dieu). Mais la ou ça bug c'est si je remplis d'au moins un caractére mon premier champs, alors que j'en attend 6, le formulaire est envoyé.

<form method="post" action="confirmationajout.php" name="formulaire" onSubmit="return check();" >....


.....
/***********fonction js************/
function verifRefAgate(valeur)
{
if (valeur.length>6)
{
alert ("Vous avez rentré trop de caractères pour une référence Agate. On attend le format suivant : 12345A");
return false;
}
if (valeur.length<6)
{
alert ("la reference agate n est pas sous le bon format");
return false;
}

//on verifie que la chaine rentree est bien que des chiffre
for (var i=0; i<valeur.length-1; i++)
{
//La méthode substring() permet de récupérer une sous-chaîne dans
//une chaîne de caractères en précisant en paramètres
//les positions des caractères entre lesquels la sous-chaîne
//doit être récupérée.
//donc ici on prend le caractere allant de i a i+1 on fait caract par caract
var chiffre=valeur.substring(i,i+1);
if (chiffre<"0" || chiffre>"9")
{
alert("on attend un chiffre");
return false;
}
}
for (var i=valeur.length-1; i<valeur.length; i++)
{
var caractere=valeur.substring(i,i+1);
if (caractere<"A" || caractere>"Z")
{
alert("on attend une lettre majuscule");
return false;
}
}

return true;
}



//on verifie que les champs ne sont pas vide
function check() {
var msg = "";

if (document.formulaire.EDIRef_Agate.value == "") {
alert( "Veuillez saisir la reference agate\n");
document.formulaire.EDIRef_Agate.style.backgroundColor = "#F3C200";
return false;
}
return true;
}

Si vous voyez dites le moi car la moi je ne vois pas ou est l'erreur. le pire c'est que ce prog marchait il ya pas si longtemps mais j'ai du rajouter le truc qu'il ne fallait pas.

merci par avance.

1 réponse

Messages postés
275
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
28 avril 2006
7
Salut,



As-tu essayé avec:



valeur.value.length > 6