Control des champs d'un formulaire

Résolu
cacourli Messages postés 4 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 30 mai 2005 - 30 mai 2005 à 18:16
Phil_Free Messages postés 275 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 28 avril 2006 - 4 juin 2005 à 11:26
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

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



As-tu essayé avec:



valeur.value.length > 6
3
Rejoignez-nous