Creo que os complicáis la vida.... pero bueno ahí va una solucion posible, obviamente he tenido que simular los inputs generados dinamicamente....
Quim
Código Javascript
:
Ver originalfunction calcula(){
var vcantidad=document.getElementsByName('cantidad[]');
var vprecio_u=document.getElementsByName('precio_unitario[]');
var unidades=0;
var totaltotal=0;
i=0;
for (var obj in document.getElementsByName('total_p[]')){
if (i<document.getElementsByName('cantidad[]').length){
document.getElementsByName('total_p[]')[i].value=parseFloat(vcantidad[i].value)*parseFloat(vprecio_u[i].value);
unidades+=parseFloat(vcantidad[i].value);
totaltotal+=parseFloat(vcantidad[i].value)*parseFloat(vprecio_u[i].value);
}
i++;
}
document.getElementById("unidades").innerHTML=unidades;
document.getElementById("totaltotal").innerHTML=totaltotal;
}
Código HTML:
Ver original<table width="50%" border="1" cellspacing="0" cellpadding="0"> <td align='center'>Cantidad
</td> <td align='center'>Precio unitario
</td> <td align='center'>Total parcial
</td> <td width="58" align='center'><input type='text' size='4' name='cantidad[]' value="" ></td> <td align='center' width="58"><input type='text' size='4' name='precio_unitario[]' value=""></td> <td align='center' width="56"><input type='text' size='4' name='total_p[]' value="" ></td> <td width="58" align='center'><input type='text' size='4' name='cantidad[]' value=""></td> <td align='center' width="58"><input type='text' size='4' name='precio_unitario[]' value=""></td> <td align='center' width="56"><input type='text' size='4' name='total_p[]' value="" ></td> <td width="58" align='center'><input type='text' size='4' name='cantidad[]' value=""></td> <td align='center' width="58"><input type='text' size='4' name='precio_unitario[]' value=""></td> <td align='center' width="56"><input type='text' size='4' name='total_p[]' value="" ></td> <td width="58" align='center' id="unidades"> </td> <td align='center' width="58">Total
</td> <td align='center' width="56" id="totaltotal"> </td> <input name="botfes" type="button" id="botfes" value="Fes" onClick="calcula()">
(Incluso funciona con IE6!!!!)
Deberías evitar los posibles NaN si hay campos sin valor...