Ver Mensaje Individual
  #10 (permalink)  
Antiguo 06/07/2004, 13:45
Avatar de BooMeranGz
BooMeranGz
 
Fecha de Ingreso: febrero-2001
Mensajes: 350
Antigüedad: 23 años, 2 meses
Puntos: 0
De acuerdo

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:
Código:
for(i=1;i<4;i++) {
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.

Última edición por BooMeranGz; 06/07/2004 a las 14:16