Je vais essayer d'être clair.
La page est un formulaire ou on rentre 6 valeurs de dépense de rénovation "$total" (de 1 à 6) d'une chambre:
<input id="total6" name="total6" type="text" size="8" size="8" value="<?php echo"$total6";?>
La fonction "sum_elements" additionne automatiquement ceux-ci et le résultat "$total_chambres" s'actualise à chaque entrée.
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!--
function sum_elements(){
var somme=0;
var result = document.getElementById('somme');
for(var i = 1; i<=6; i++){
var element = document.getElementById('total'+i);
if(element.value!='' && !isNaN(element.value)){
somme += parseFloat(element.value);
}
}
result.value = somme;
}
//--> |
Donc "$total_chambres" correspond aux dépenses pour une chambre.
<input id="somme" name="somme" type="text" size="8" value="<?php echo"$total_chambres";?>">
Ensuite on demande le nombre de chambres concernées :
<input onblur="calculTch()" name="nbre_ch" type="text" size="1" value="<?php echo"$nbre_ch";?>">
Le calcul se fait par par la fonction:
1 2 3 4 5 6 7
| <!--
function calculTch()
{
var total_tchambres= document.getElementById("formulaire").elements["nbre_ch"].value * document.getElementById("formulaire").elements["total_chambres"].value;
document.getElementById("formulaire").elements["total_tchambres"].value=total_tchambres;
}
//--> |
On multiplie "$total_chambres" par "$nbre_ch".
<input type="hidden" name="total_chambres" value="<?php echo"$total_chambres";?>" size="20" onblur="calculTch()">
On affiche le résultat total pour toutes les chambres:
<input id="total_tchambres" name="total_tchambres" type="text" size="8" value="<?php echo"$total_tchambres";?>">
Le problème c'est que le calcul se fait automatiquement mais sur la valeur enregistrée dans la base de donnée "$total_chambres" et non sur le résultat de "somme" qui est le résultat du calcul automatique.
Donc je cherche un solution pour afficher automatiquement le total pour toutes la chambres quand on entre le nombre de chambres.
En tout cas merci pour vos réponses et surtout pour votre patience.
Partager