faire la somme d'une colonne
Bonjour,
J'ai un souci a faire la somme d'une colonne de x nombre de ligne...Voici le code de mon formulaire:
Code:
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script language="javascript">
var index = 0;
function loadData(valeur, indexLine) {
var data ;
var url = "ajax.php?reference=" + valeur;
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else return(false);
xhr_object.open("GET", url, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) {
//alert(xhr_object.responseText);
data = eval(xhr_object.responseText);
document.getElementById("designation[" + indexLine + "]").value = data[1];
val_tarif=document.getElementById("tarif[" + indexLine + "]").value = data[2];
document.getElementById("colis[" + indexLine + "]").value = data[3];
document.getElementById("punet[" + indexLine + "]").value = data[2];
document.getElementById("total[" + indexLine + "]").value = data[2];
document.getElementById("montant_total").value = data[2];
} else return(false);
}
function calcul_remise(value,indexLine){
var val_tarif=document.getElementById("tarif[" + indexLine + "]").value
var val_remise = document.getElementById("remise[" + indexLine + "]").value;
val_punet = val_tarif - (val_tarif*val_remise*1/100);
document.getElementById("punet[" + indexLine + "]").value = val_punet;
var quantite = document.getElementById("quantite[" + indexLine + "]").value;
var prix_total = quantite * val_punet;
document.getElementById("total[" + indexLine + "]").value = prix_total;
document.getElementById("montant_total").value = prix_total;
//alert(val_tarif);
}
function calcul_quantite(value,indexLine){
var val_punet=document.getElementById("punet[" + indexLine + "]").value
var quantite = document.getElementById("quantite[" + indexLine + "]").value;
var prix_total = quantite * val_punet;
document.getElementById("total[" + indexLine + "]").value = prix_total;
//alert(val_tarif);
}
function addLine() {
var newRow = document.getElementById('matable').insertRow(-1);
var reference = newRow.insertCell(0);
reference.innerHTML = '<input type="text" id="reference['+ index + ']" name="reference['+ index + ']" onChange="loadData(this.value, '+ index +')" />';
var designation = newRow.insertCell(1);
designation.innerHTML = '<input type="text" id="designation['+ index + ']" name="designation['+ index + ']" readonly />';
var quantite = newRow.insertCell(2);
quantite.innerHTML = '<input type="text" id="quantite['+ index + ']" name="quantite['+ index + ']" value="1" onChange="calcul_quantite(this.value, '+ index +')" OnKeyUp = "somme()" />';
var colis = newRow.insertCell(3);
colis.innerHTML = '<input type="text" id="colis['+ index + ']" name="colis['+ index + ']" value="" />';
var remise = newRow.insertCell(4);
remise.innerHTML = '<input type="text" id="remise['+ index + ']" name="remise['+ index + ']" value="" onChange="calcul_remise(this.value, '+ index +')" />';
var tarif = newRow.insertCell(5);
tarif.innerHTML = '<input type="text" id="tarif['+ index + ']" name="tarif['+ index + ']" value="" readonly />';
var punet = newRow.insertCell(6);
punet.innerHTML = '<input type="text" id="punet['+ index + ']" name="punet['+ index + ']" value="" />';
var total = newRow.insertCell(7);
total.innerHTML = '<input type="text" id="total['+ index + ']" name="total['+ index + ']" value="" />';
index++;
}
function deleteLine() {
var nb = document.getElementById('matable').rows.length;
document.getElementById('matable').deleteRow(-1);
}
function somme(){
var n = index;
//alert(n);
while ( document.getElementById("total[" + n + "]") )
{
//alert(document.getElementById("total[" + n + "]"));
document.getElementById("montant_total").value=
parseInt(document.getElementById("montant_total").value)+
parseInt(document.getElementById("total[" + n + "]").value);
n++;
}
}
</script>
</head>
<body>
<form method="post" action="commande.php">
<table id="matable" width="1048" border="0">
<tr>
<td width="111"><strong>REFERENCE</strong></td>
<td width="131"><strong>DESIGNATION</strong></td>
<td width="66"><strong>Quantité</strong></td>
<td width="94"><strong>COLIS</strong></td>
<td width="138"><strong>Remise(%)</strong></td>
<td width="157"><strong>TARIF(FCFA)</strong></td>
<td width="143"><strong>PU NET (FCFA)</strong></td>
<td width="174"><strong>TOTAL (FCFA)</strong></td>
</tr>
</table>
<table width="1367" id="matable2">
<tr>
<td width="87"></td>
<td width="103"></td>
<td width="51"></td>
<td width="73"></td>
<td width="108"></td>
<td width="124"></td>
<td width="157"></td>
<td width="291"></td>
<td width="333"><strong>Montant Total:</strong><input type="text" id="montant_total" name="montont_total" value="" /></td>
</tr>
</table>
<input type="button" name="button" id="button" value="Ajouter" onClick="addLine()" />
<input type="button" name="button3" id="button3" value="Supprimer" onClick="deleteLine()" />
<input type="submit" name="button2" id="button2" value="Valider" />
</form>
</body>
</html> |