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...me-formulaire/

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 :
Code html : 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
<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