Bonjour à tous,

Après maintes et maintes tentatives je viens vous exposer mon problème dans lequel je patauge...

Voici ma fonction, (je suis dans un $(document).ready(function() {):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
isProspectAlreadyExist(email,{
				succes:function(idUser){
					fieldsOk = false;
					message_erreur = '<div class="txt_error">Le mail existe déjà dans notre base de données. Vous êtes déjà inscrit.</div>';
					$(".email_error").html(message_erreur);
					$(".email_error").removeClass("display_none");	
					$(".email_ok").addClass("display_none");
				}
				,echec:function(idUser){
				}
			});
Dans laquelle j'essaye désespérément d'affecter false à fieldsOk. Or du moment où je sors de ma fonction, fieldsOk repasse à true alors que si je l'affiche au moment de l'affectation (dans le succes) il est bien à false.
Voici ma fonction isProspectAlreadyExist:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function isProspectAlreadyExist(mail,callback)
{
	var xhr = getXhr();
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			idUser = xhr.responseText;
			idUser = trim(idUser);
			if(idUser=="")
			{
				callback.echec(idUser);
				return;
			}
			else
			{
				callback.succes(idUser);
				return;
			}
		}
	}
	// Ici on va voir comment faire du post
	xhr.open("POST","php/controller/UserController.php?method=isProspectAlreadyExist",true);
	// ne pas oublier ça pour le post
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send("emailUser="+mail);
}
J'ai essayé plusieurs contournement, affecter une valeur a un input type hidden que j'avais mis dans mon php mais le resultat est le meme, du moment que je sors de la fonction il n'a plus la même valeur! J'imagine que la page est rechargée ou un truc dans le genre, je ne comprends pas bien.
Pour etre le plus explicite possible, voici ce que je veux faire. Dans le cas où mon fieldsOk est à false, je fais un "return false" pour afficher mon message d'erreur et ne pas continuer. J'ai essayé de mettre le return false directement dans le cas du "succes" mais cela ne marche pas non plus.
J'espère avoir été assez claire, n'hésitez pas à me poser des questions et merci par avance.