Bonjour,
Je sollicite votre aide afin de comprendre un petit problème assez simple :
- j'ai une page JSP pour saisir des paramètres et un bouton de calcul qui affiche un résultat sur cette même page.
Les fonction Javascript associées au bouton sont les suivantes :
Le problème est que le résultat obtenu est égale à 0 dans ma page JSP.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 function calculerCo2(){ var distance = document.getElementById("distance").value; var duree = document.getElementById("duree").value; var co2 = Co2calc(distance, duree); // alert("co2 : " + co2); document.getElementById("co2").value = co2; } function Co2calc(dist, dur){ var request = null; try { request = new XMLHttpRequest(); }catch (e){ try { request = new ActiveXObject("Microsoft.XMLHTTP"); }catch (e) { alert("XMLHttpRequest error: " + e);} } request.open("POST", "calculco2.calc"); var par= "distance=" + dist + "&" + "duree=" + dur; request.setRequestHeader("Content-type", "application/x-www-form- urlencoded"); request.send(par); var calc_co2 = 0; var resultat = 0; request.onreadystatechange = function(){ if(request.readyState == 4 && request.status == 200){ resultat = request.responseText; calc_co2 = Math.round(resultat*1000)/1000;} }; // alert("calc_co2 : " + calc_co2); return calc_co2; }
Hors, si j'active les alert(), j'obtiens les messages suivant :
calc_co2 : 0
co2 : 4.09
et ma page JSP affiche bien le bon résultat (4.09)
Je n'y comprends plus rien.
Je pensais avoir bien codé la récupération de la valeur de retour de la fonction Co2calc() dans la variable co2.
Est-ce un problème de codage en Javascript ou de déclaration de variables ?
Je ne suis pas un expert en Javascript, mais j'ai codé comme les exemples trouvés sur lnternet.
Si vous pouvez m'aider à résoudre ce problème, je vous en remercie par avance pour vos réponses.
ejazz75
Partager