Código HTML:
Ver originalfunction fncSumar(caja1, caja2, destino){
caja=document.getElementsByName("resultado");
document.getElementById(destino).value=Number(document.getElementById(caja1).value)+ Number(document.getElementById(caja2).value);
document.getElementById('total').value=0;
for(i=0;i<caja.length;i++){
document.getElementById('total').value=Number(document.getElementById('total').value)+Number(caja[i].value);
}
}
<form method="post" name="sumar"> <input type="text" name="numero1" id="numero1" size="2" onKeyUp="fncSumar('numero1', 'numero2', 'resultado1')" /> Segundo numero:
<input type="text" name="numero2" id="numero2" size="2" onKeyUp="fncSumar('numero1', 'numero2', 'resultado1')"/> Resultado parcial1:
<input type="text" name="resultado" id="resultado1" readonly="readonly"/> <input type="text" name="numero3" id="numero3" size="2" onKeyUp="fncSumar('numero3', 'numero4', 'resultado2')" /> cuarto numero:
<input type="text" name="numero4" id="numero4" size="2" onKeyUp="fncSumar('numero3', 'numero4', 'resultado2')" /> Resultado parcial2:
<input type="text" name="resultado" id="resultado2" readonly="readonly"/> <input type="text" name="numero5" id="numero5" size="2" onKeyUp="fncSumar('numero5', 'numero6', 'resultado3')" /> sexto numero:
<input type="text" name="numero6" id="numero6" size="2" onKeyUp="fncSumar('numero5', 'numero6', 'resultado3')" /> Resultado parcial3:
<input type="text" name="resultado" id="resultado3" readonly="readonly"/> <input type="text" name="total" id="total" readonly="readonly"/>
Una solución...
Puedes ampliar el numero de subtotales y sus componentes indefinidamente siempre que tengan nombre name="resultado" y identificador id="resultado
N" donde N siempre es diferente.