Faire un return dans un xml

Fermé
angel25200 Messages postés 140 Date d'inscription lundi 14 janvier 2013 Statut Membre Dernière intervention 22 avril 2020 - 6 mars 2016 à 16:26
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 7 mars 2016 à 10:17
Bonjour à tous, j'ai un soucis que je n'arrive pas à résoudre.
Mon problème est le suivant :

J'ai une Base De Données avec des utilisateurs avec un numéro de tel.
Lors de l'inscription d'un nouvel utilisateur, je souhaite vérifier qu'il n'entre pas un numéro qui est déjà dans la BDD, donc j'ai une fonction qui vérifier si le numéro existe :



function usedPhone(value, champ){
var xml = new getXMLHTTPRequest();

xml.onreadystatechange = function () {
if (xml.readyState == 4 && xml.status == 200) {
if (xml.responseText == "true") {
document.getElementById("txt_" + champ).innerHTML = "<span class='mdl-color--red'>Un utilisateur existe déjà avec ce numéro</span>";
document.getElementById("img_" + champ).src = "./images/annuler.png";
document.getElementById("img_" + champ).style.visibility = "visible";
}
else {
document.getElementById("txt_" + champ).innerHTML = "<span class='mdl-color--green'>Numéro valide</span>";
document.getElementById("img_" + champ).src = "./images/valider.png";
document.getElementById("img_" + champ).style.visibility = "visible";
}
}
}
xml.open("POST", "user_number.php", true);
xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xml.send('phone=' + value);
}


La variable 'value' est un numéro de téléphone (entré par l'utilisateur)
La variable 'champ' est une balise <div> dans laquelle un message s'affichera ("numéro utilisé" ou "") afin de le signaler à l'utilisateur.

J'appel cette fonction dans un "if"


alert(usedPhone(value,champ));
if(usedPhone(value,champ)){
rep=false;
}else{
rep=true;
}



Mon problème est celui là :
usedPhone me retourne : undefined

J'ai essayer plusieur manip en mettant des :

return xml.responseText;

ou même

return xml.onreadystatechange();
A voir également:

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
7 mars 2016 à 10:17
Salut,

La fonction usedPhone() n'est pas sensé retourné de résultat.

C'est la fonction anonyme définie pour xml.onreadystatechange qui doit retourner si le téléphone est utilisé ou non selon le retour de la requête ajax.

Bonne journée,
0