Bonjour,
je cherche à réaliser un calculateur de volume dans Wordpress.
Voir l'exemple qui marche sur mon site : https://adopt-un-box.la-rochelle-web.fr ... ormulaire/
Le problème : cet page calcule bien le volume nécessaire pour les 100 premiers objets. Mais le calcul, réalisé à partir d'un plugins sans doute "bridé", ne fonctionne pas pour les objets de 100 à 139 (il y a 139 objets en tout).
Le principe : l'utilisateur entre le nombre (Ni)de chaque objet présenté qu'il souhaite stocker dans un box.
Chaque objet a un volume défini et enregistré dans un champs input non visible (Vi)
Une fonction js appelée "Somme" doit :
- calculer le volume global appelé "total". Sous forme mathématique : total = somme(Ni x Vi)
- afficher les résultat dans l'input "total"
Je découvre le javascript et j'ai "bricolé" la fonction suivante fonction qui ne marche pas.
Tout d'abord le code HTML, puis le script js :
<input type="number" id="number-1"/><input type="number" name="volume-1"/><br/>
<input type="number" id="number-2"/><input type="number" name="volume-2"/><br/>
...
<input type="number" id="number-139"/><input type="number" name="volume-139"/><br/>
<input type="number" id="total"/>
<script type="text/javascript">
function somme() {
"use strict";
var sommeRes = 0, i, NbObjets = 139;
for (i = 1; i <= NbObjets; i += 1) {
sommeRes += parseFloat(document.getElementById("number-" + i).value) * parseFloat(document.getElementById("volume-" + i).value);
}
// Si la sommeRes n’est pas définie on ne l’affiche pas.
if (isNaN(sommeRes)) {
sommeRes = "";
}
document.getElementById("total").value = sommeRes;
}
window.onload = function () {
"use strict";
document.getElementById("number-1").onchange = function () {
somme();
};
document.getElementById("number-2").onchange = function () {
somme();
};
.....
document.getElementById("number-139").onchange = function () {
somme();
};
};
</script>
J'ai besoin de votre aide !
Quelqu'un de plus doué que moi peut-il m'expliquer pourquoi cette fonction ne marche SVP ?
Quel serait le code corrigé qui fonctionne SVP ?
Merci beaucoup !
Alain
Cacul en JS
Re: Cacul en JS
Bonjour,
J'identifie un probleme sur les volume
Il n'y a pas de id="volume-XX" mais un name
Le getElementById ne peut pas retourner de valeur...
Ca doit être indiqué dans la console du navigateur d'ailleurs.
J'identifie un probleme sur les volume
Il n'y a pas de id="volume-XX" mais un name
Le getElementById ne peut pas retourner de valeur...
Ca doit être indiqué dans la console du navigateur d'ailleurs.
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php
https://www.toutjavascript.com/livre/index.php
-
- Messages : 4
- Enregistré le : 01 déc. 2020, 12:57
Re: Cacul en JS
Bonsoir,
merci pour ton aide précieuse.
On doit s'approcher de la bonne solution.
Toutefois, j'ai corrigé le code html mais rien ne s'affiche dans le champ total.
Une idée ?
(PS : je ne connais le js comme tu peux le constater)
Merci !
Alain
merci pour ton aide précieuse.
On doit s'approcher de la bonne solution.
Toutefois, j'ai corrigé le code html mais rien ne s'affiche dans le champ total.
Une idée ?
(PS : je ne connais le js comme tu peux le constater)
Merci !
Alain
Re: Cacul en JS
Ok, regarde ce qui est affiché dans la console
Voici un tuto pour tout comprendre sur cet outil indispensable
https://www.toutjavascript.com/savoir/n ... script.php
Voici un tuto pour tout comprendre sur cet outil indispensable
https://www.toutjavascript.com/savoir/n ... script.php
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php
https://www.toutjavascript.com/livre/index.php