PERFECTO
JavierB,
Muchas gracias, me comprendiste perfectamente
¿Me podrías explicar brevemente como modificar la función por si necesito agregar mas filas y columnas (iguales a las que ya tengo)?
Salu2.
::::: EDITADO :::::
Si no me equivoco el valor a cambiar para agregar mas filas/columnas es:
o sea que si agrego una fila con las mismas columnas ¿deberia poner 5 en vez de 4?
Y a la vez en la siguiente
<tr><td>... me ¿debería quedar asi?
Código HTML:
<tr align="center">
<td><input name="de_o1" type="text" id="de_o1" value="" size="60" maxlength="80"></td>
<td><input name="de_q14" type="text" id="de_q14" onkeyup="sumar(4)" value="0" size="6" maxlength="6"></td>
<td><input name="de_u14" type="text" id="de_u14" onkeyup="sumar(4)" value="0" size="6" maxlength="6"></td>
<td><input name="de_e14" type="text" id="de_e14" readonly="readonly" value="0" size="6" maxlength="6"></td>
</tr>
O sea:
onkeyup="sumar(4)"
Por lo que la función sería la misma con un solo cambio:
Código HTML:
<script>
function sumar(num) {
elem=document.getElementById('ta').getElementsByTagName('tr')[num];
cel1=parseFloat(elem.getElementsByTagName('td')[1].childNodes[0].value);
cel2=parseFloat(elem.getElementsByTagName('td')[2].childNodes[0].value);
elem.getElementsByTagName('td')[3].childNodes[0].value=cel1 * cel2;
// Ahora vamos a sumar las columnas
var tot = new Array;
tot[1]=0; tot[2]=0; tot[3]=0;
// aqui modifico el <x por la cantidad de filas que tengo a sumar.
for(i=1;i<5;i++) {
elem=document.getElementById('ta').getElementsByTagName('tr')[i];
for(j=1;j<4;j++)
tot[j]+=parseFloat(elem.getElementsByTagName('td')[j].childNodes[0].value);
}
for(i=1;i<4;i++)
document.getElementById(i).innerHTML=tot[i];
}
</script>
Bueno, al menos lo pruebo asi y funciona, si es correcto por favor avísame asi lo trabajo de esta manera
Salu2.