J'ai une fonction de validation de formulaire qui valide et vérifie également si le nom d'utilisateur est pris ou non (ajax).Pourquoi cette fonction retourne-t-elle "indéfini"?
Voilà comment j'appelle le code:
function validate(){
if(usernameValid()){
return true;
}
else {
return false;
}
}
J'alertent également la fonction afin de voir ce qu'il retourne:
alert(usernameValid());
Le problème est que les alertes Alertbox « indéfinis » dans Dans certains cas, ma validation ne passera pas au champ suivant, elle se bloque. Pour être plus précis, il alerte "Undefined" dans tous les cas sauf quand la "length === 0", il alerte false ce qui est correct.
Voici la fonction usernameValid:
function usernameValid(fld) {
if($('#username').val().length !== 0) {
$.post("username_check.php", {
username: $('#username').val()
}, function(response){
response = escape(response);
if(response==1){
$('#username_error_invalid').show();
$('#username_error_empty').hide();
$('#username_error_taken').hide();
return false;
}
else if(response==2){
$('#username_error_taken').show();
$('#username_error_invalid').hide();
$('#username_error_empty').hide();
return false;
}
else {
$('#username_error_taken').hide();
$('#username_error_invalid').hide();
$('#username_error_empty').hide();
return true;
}
});
}
else{
$('#username_error_empty').show();
$('#username_error_invalid').hide();
$('#username_error_taken').hide();
return false;
}
}
Tout le monde sait ce qui est faux, à savoir pourquoi les rendements de code non défini dans les cas où je tester la variable « réponse »?
BTW: La validation lui-même pour le nom d'utilisateur fonctionne (erreur apparaît quand il doit, etc), mais il retourne ... non défini
Merci
Soin de fournir un exemple de la userNameInvalidFunction() afin que je comprenne entièrement? et que voulez-vous dire exactement par "quelque chose d'autre pour vrai"? –
@ Camran - par ex. Au lieu de s'appuyer sur la valeur 'return', vous ne lancez que les autres fonctions lorsque la réponse du serveur revient, pensez à remplacer 'return true;' par 'functionToCallWhenValid()' et 'return false;' par ' functionToCallWhenInvalid() '. –
est-il possible de retourner true/false à l'intérieur de ces fonctions, ou voulez-vous dire que je dois appeler la fonction "validation_function" suivante dans functionToCallWhenValid() ou peut-être afficher un message d'erreur dans functionToCallWhenInvalid()? –