codice:
<script>
function calculate(){
var fr = document.forms['panel']; //conservo nella var fr il riferimento al FORM
for (n=1; n<4; n++) { //scorro tutti i NAME ciclando FOR il numero aggiuntivo; da 1 a 3 (n<4), con incremento di +1 a ciclo (n++)
fr.elements['subtot' + n].value = 3*fr.elements['num' + n].value;
fr.elements['total'].value = +fr.elements['total'].value + +fr.elements['subtot' + n].value;
}
}
</script>
<form name="panel">
<table align="center"><td align="right"><h4>fixed x entered Number</h4>
3.00 x <input name="num1" size="4"> = <input name="subtot1" size="4" readonly>
3.00 x <input name="num2" size="4"> = <input name="subtot2" size="4" readonly>
3.00 x <input name="num3" size="4"> = <input name="subtot3" size="4" readonly>
Tot. ... <input name="total" size="10" readonly>
<input value="calculate" type="button" onclick="calculate();"></td>
</table>
</form>
Il Gran Totale viene ora aggiornato ad ogni ciclo del FOR, ma possiamo anche fare così:
codice:
function calculate(){
var fr = document.forms['panel'];
var gt = "";
for (n=1; n<4; n++) {
fr.elements['subtot' + n].value = 3*fr.elements['num' + n].value;
gt = +gt + +fr.elements['subtot' + n].value;
}
fr.elements['total'].value = gt;
}
Ora è la nuova variabile var gt che viene aggiornata ad ogni ciclo, e poi il suo Valore verrà assegnato al campo del Gran Totale al concludersi della funzione.
Attenzione che bisognerà anche introdurre il riazzeramento ...