Bonjour a tous,

Voila une mâtiné de perdu a la recherche d'une solution ..

Je vous expose mon problème.

C'est pour l'ajout d'un produit dans un panier.
J'ai une fonction que j'appelle lors du clique sur le bouton "ajouter au panier" et je bloque l'envoi du formulaire.
Dans cette fonction je fait une requête ajax pour récupérer une info sur le produit, si j'ai cette info je l'envoi pas le form, et si je l'ai pas je l'envoi.

Le problème c'est que quand je vais ajouter au panier j'ai plusieurs produit a vérifier, et donc plusieurs requête ajax. Et si pour une seul de ses requete j'ai la donnée il ne faut pas que je l'envoi.

Mon problème , c'ets que js n'attend pas la fin des requetes pour exécuter la suite de l'autre code, il fait tout en parallèle..


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
 
var envoi = true;
function cherche(){
 
 
	inputs = $(":input[@type=text][@class=qte]");
 
	for(i=0;i<inputs.length;i++)
	{			
 
			$.ajax({
				type: "POST",
				url: "requeteajax/aj_fav.php",
				data: 'prd='+id,
				success: function(msg){
 
                                //mon traitement des données , on affecte la     
                                //variable envoi a false si l'info est dans la base
 
				}
			});
 
	 }
// le problème il exécute ca, avant d'avoir fini l'ajax juste au dessus.
	if(envoi)
		$('#cart_fav').submit();
}