Bonjour à toutes et tous,
Soit une fonction de calcul toute bête :
Le port se fait donc grâce à la fonction calcule_port que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function calcule(id_fournisseur){ var prix = 10; var port = calcule_port(id_fournisseur); alert(port); var total = parseFloat(parseFloat(prix) + parseFloat(port)); return total; }
La page xhr_calcule_port.php cherche dans la base le montant du port pour ce fournisseur et fait un echo du résultat.
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 function calcule_port(id_fournisseur){ var xhr = getXhr('text'); var port = 0; xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) { port = xhr.responseText; alert(port); // affiche bien le montant du port } return port; } var data = "id_fournisseur="+id_fournisseur; xhr.open("GET", "xhr_calcule_port.php?"+data,true); xhr.send(null); }
Le alert de la fonction calcule_port sort bien le montant correct du port. Donc le hhtpRequest et le php font bien le boulot.
Par contre le "return port" ne va pas car la ligne :
de la fonction calcule() me retourne "undefined".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var port = calcule_port(id_fournisseur);
Voyez-vous pourquoi ?
D'avance merci de votre aide.
Partager