par
Truc » 31 juil. 2006, 23:22
Tu as pratiquement tout ce qu'il faut pour la vérification des deux passes:
valid_formulaire=false;
function verifMDP(champ)
{
var mot_passe= document.getElementById('passe1').value;
var repass= document.getElementById('passe2').value;
if(mot_passe != '')
{
if(mot_passe.length<6)
{
writediv('<img src="./img/attention.gif" border="0"/> Ce mot de passe est trop court',champ);
valid_formulaire=false;
}
else if(mot_passe.length>30)
{
writediv('<img src="./img/attention.gif" border="0"/> Ce mot de passe est trop long',champ);
valid_formulaire=false;
}
else
{
if(mot_passe == repass)
{
writediv('<img src="images/Site/ok.gif" border="0"/>',champ);
valid_formulaire=true;
}
else
{
if(repass != "")
writediv('Les deux passes sont différents.',champ);
else
writediv('',champ);
valid_formulaire=false;
}
}
}
else
writediv('<img src="./img/croix.gif" border="0"/> Veuillez resaisir votre mot de passe',champ);
}
on passe en paramètre l'id de l'élément qui va reçevoir le message.
Il y a également l'ajout d'une variable "valid_formulaire" initialisée à faux et qui passe à vrai uniquement dans le cas où les passes sont identiques. Cette variable servira lors de la validation du formulaire qui ne devrait se faire qui si elle vaut "true" (donc sur un appel onsubmit).
avec les deux champ:
<input type="password" name="password" id="passe1" onKeyUp="verifMDP('error_passe')" />
<input type="password" name="repass" id="passe2" onKeyUp="verifMDP('error_passe')" />
<span id="error_passe"></span>
Pour écrire en face des champs suffit de choisir l'emplacement du bloc :
<span id="error_passe"></span>
où le message sera inscrit.
La fonction d'écriture des messages devient :
function writediv(texte,champ)
{
document.getElementById(champ).innerHTML = texte;
}
avec l'ajout d'une variable pour le champ d'écriture, tu n'aura qu'à indiquer l'id de l'élement où écrire.