par
Invité » 10 juin 2007, 13:10
bonjour a tous
j expose :
j ai une verification de formulaire pour verifier la disponibilite d un pseudo
(j utilise la lib prototype)
Code : Tout sélectionner
var imgPseudo = "";
function disponibilitePseudo (idImg)
{
var pseudoToTest = $('pseudo').value;
imgPseudo = idImg;
if (pseudoToTest != "")//SI PSEUDO N EST PAS VIDE
{
//inclure un verification au niveau des caracteres
if (pseudoToTest.length<5 || pseudoToTest.length>14)//SI PSEUDO EST COMPRIS ENTRE 5 ET 12 CARACTERES
{
Element.show("retourPseudo");
Element.update("retourPseudo","Votre Pseudo doit être compris entre 5 et 12 caracteres.");
$(idImg).src = '../images/mod/champNonValide.gif';
return false;
}
else // ok on verifie la dispo du pseudo
{
new Ajax.Updater(
'retourPseudo',
'module/log/verif.php?pseudo='+pseudoToTest+'&Date='+escape(new Date()),
{
method:'get' ,
onComplete: succesRetourAjax,
onFailure: erreurRetourAjax
}
)
;
return false;
}
}
else
{
Element.show("retourPseudo");
Element.update("retourPseudo","Vous devez choisir un pseudo.");
$(idImg).src = '../images/mod/champNonValide.gif';
return false;
}
function succesRetourAjax (t)
{
// alert(t.responseText);
if (t.responseText == "succes")
{
// Element.update("retourPseudo","Ce pseudo est disponible.");
$(imgPseudo).src = '../images/mod/champValide.gif';
Element.hide("retourPseudo");
return true;
}
else
{
Element.show("retourPseudo");
Element.update("retourPseudo","Désolé, ce pseudo n\'est pas disponible.");
$(imgPseudo).src = '../images/mod/champNonValide.gif';
return false;
}
}
function erreurRetourAjax (t)
{
// alert('Error ' + t.status + ' -- ' + t.statusText);
$(imgPseudo).src = '../images/mod/champNonValide.gif';
return false;
}
}
et une verif sur le submit
Code : Tout sélectionner
function checkForm()
{
return (disponibiliteEmail ('imgEmail') );
}
donc mon probleme vient des return true et false sur la partie ajax.updater.
(la verif sur caractere fontctionne.)
dans la partie ajax.updater, j utilise deux fonction si succes ou echec,
si je mets return false( comme dans l exemple) impossible d envoyer le form
si je mets rien ou return true; le form est envoye meme si le pseudo est deja pris
donc comment je peux dire en js qu' il n y a rien a verifier dans cette partie mais qu le controle se fait uniquement sur succesRetourAjax et erreurRetourAjax.
p: j espere que c est clair !!!!!

bonjour a tous :)
j expose :
j ai une verification de formulaire pour verifier la disponibilite d un pseudo
(j utilise la lib prototype)
[code]
var imgPseudo = "";
function disponibilitePseudo (idImg)
{
var pseudoToTest = $('pseudo').value;
imgPseudo = idImg;
if (pseudoToTest != "")//SI PSEUDO N EST PAS VIDE
{
//inclure un verification au niveau des caracteres
if (pseudoToTest.length<5 || pseudoToTest.length>14)//SI PSEUDO EST COMPRIS ENTRE 5 ET 12 CARACTERES
{
Element.show("retourPseudo");
Element.update("retourPseudo","Votre Pseudo doit être compris entre 5 et 12 caracteres.");
$(idImg).src = '../images/mod/champNonValide.gif';
return false;
}
else // ok on verifie la dispo du pseudo
{
new Ajax.Updater(
'retourPseudo',
'module/log/verif.php?pseudo='+pseudoToTest+'&Date='+escape(new Date()),
{
method:'get' ,
onComplete: succesRetourAjax,
onFailure: erreurRetourAjax
}
)
;
return false;
}
}
else
{
Element.show("retourPseudo");
Element.update("retourPseudo","Vous devez choisir un pseudo.");
$(idImg).src = '../images/mod/champNonValide.gif';
return false;
}
function succesRetourAjax (t)
{
// alert(t.responseText);
if (t.responseText == "succes")
{
// Element.update("retourPseudo","Ce pseudo est disponible.");
$(imgPseudo).src = '../images/mod/champValide.gif';
Element.hide("retourPseudo");
return true;
}
else
{
Element.show("retourPseudo");
Element.update("retourPseudo","Désolé, ce pseudo n\'est pas disponible.");
$(imgPseudo).src = '../images/mod/champNonValide.gif';
return false;
}
}
function erreurRetourAjax (t)
{
// alert('Error ' + t.status + ' -- ' + t.statusText);
$(imgPseudo).src = '../images/mod/champNonValide.gif';
return false;
}
}
[/code]
et une verif sur le submit
[code]function checkForm()
{
return (disponibiliteEmail ('imgEmail') );
}
[/code]
donc mon probleme vient des return true et false sur la partie ajax.updater.
(la verif sur caractere fontctionne.)
dans la partie ajax.updater, j utilise deux fonction si succes ou echec,
si je mets return false( comme dans l exemple) impossible d envoyer le form
si je mets rien ou return true; le form est envoye meme si le pseudo est deja pris
donc comment je peux dire en js qu' il n y a rien a verifier dans cette partie mais qu le controle se fait uniquement sur succesRetourAjax et erreurRetourAjax.
p: j espere que c est clair !!!!! :lol: