Code : Tout sélectionner
<input class="formd" size="7" type="text" value="1" autocomplete="off" onkeyup="calcul(1)" id="q_1" />
<input class="formd" size="12" type="text" value="" autocomplete="off" onkeyup="calcul(1)" id="px_1" />
<input class="tot" size="12" type="text" value="" autocomplete="off" id="tot_1" readonly />
<input class="formd" size="7" type="text" value="1" autocomplete="off" onkeyup="calcul(2)" id="q_2" />
<input class="formd" size="12" type="text" value="" autocomplete="off" onkeyup="calcul(2)" id="px_2" />
<input class="tot" size="12" type="text" value="" autocomplete="off" id="tot_2" readonly />
<input class="formd" size="7" type="text" value="1" autocomplete="off" onkeyup="calcul(3)" id="q_3" />
<input class="formd" size="12" type="text" value="" autocomplete="off" onkeyup="calcul(3)" id="px_3" />
<input class="tot" size="12" type="text" value="" autocomplete="off" id="tot_3" readonly />
<script>
function calcul(id_ligne){
var quantite = document.getElementById('q_'+id_ligne+'').value;
var prix = document.getElementById('px_'+id_ligne+'').value;
resultat = quantite*prix;
document.getElementById('tot_'+id_ligne+'').value = resultat.toFixed(2);
var result = 0;
array = document.getElementsByClassName('tot');
for (let j = 1; j <= array.length; j++) {
var q = Number(document.getElementById('tot_'+j+'').value);
console.log('tot_'+j+' = '+q);
result = result+q;
document.getElementById('total').innerHTML = result.toFixed(2);
document.getElementById('avant_remise').innerHTML = result.toFixed(2);
var id = document.querySelector('input[name=acompte]:checked').value;
choix_acc(id);
}
}
</script>
J'ai un problème sur ce script, j'ai mes input qui sont créés par une boucle en php selon un nombre de ligne désirée j'ai donc (q1*px1) (q2*px2) etc...
pour le calcul du total de chaque ligne j'ai programmé cette fonction, qui fonctionne bien le tout est bien calculé, mais alors où cela cloche, me dirai vous ?
Et bien dans la console Chrome il me dit "Uncaught TypeError: Cannot read property 'value' of null
at calcul"
alors qu'il récupère bien la valeur puisque j'ai bien le total de chaque ligne sans erreur...
J'ai fais un console.log() et tout est OK, je n'arrive pas à comprendre d'où provient l'erreur.
Si quelqu'un pouvais m'aider, plusieurs têtes valent mieux qu'une.
Merci beaucoup