Modérateur PHPfrance |
2575 Messages
13 avr. 2005, 17:09
Voici un code basé sur javascript qui permet de simplifier le calcul
quelque soit la taille d'une grille :
une seule fonction de calcul, qui détermine un total selon une suite de quantités et un prix et ce ligne par ligne.
La fonction calcule automatiquement sur changement des quantités.
Dans l'exemple une grille HTML contient deux ligne dont chacune est
composée de trois zones pour les quantités, une zone de prix et un total
Les quantités sont nommées selon une matrice q[][]
Les prix selon un tableau linéaire pu[]
et les totaux selon un tableau linéaire total[]
Noter que toutes les lignes de la table HTML sont semblables, seul un n°
de ligne va changer pour télécommander la fonction de calcul.
De ce fait, ce code HTML peut être généré automatiqument par PHP selon
une source de données.
Et finalement l'exemple HTML/Javascript
<script>
function calculer(ligne){
var pu = document.all["pu[]"];
var q = document.all["q["+ligne+"][]"];
var t = document.all["total[]"];
var qte = 0;
for (i=0; i< q.length; i++) qte += new Number(q[i].value);
t[ligne].innerText = new Number(pu[ligne].innerText) * qte;
}
</script>
<form method=post>
<table border=1>
<tr>
<td><input name="q[0][]" onChange=calculer(0)></td>
<td><input name="q[0][]" onChange=calculer(0)></td>
<td><input name="q[0][]" onChange=calculer(0)></td>
<td id="pu[]">10</td>
<td id="total[]">0</td>
</tr>
<tr>
<td><input name="q[1][]" onChange=calculer(1)></td>
<td><input name="q[1][]" onChange=calculer(1)></td>
<td><input name="q[1][]" onChange=calculer(1)></td>
<td id="pu[]">10</td>
<td id="total[]">0</td>
</tr>
</table>
</form>
--------
//////----
//---
//----
//////
-------
//---
//----
//---
//----
//---
//
------
//////----
//////-----
//////
-----
||--------
||--
||---
||
Prendre le recul n'est pas une perte de temps.
ps:
Affrontez moi dans l'arène