Muchas gracias tu ayuda me ha servido demasiado, te pido disculpas por molestarte tanto, gracias, pero tengo una duda;
Cuando hago lo siguiente: agrego un tr o una tabla más para darles nombres a los campos no me realiza nada de la operación, anexo el código con lo que realice nuevo:
Agregando tr
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<form name="autoSumForm"> <th class="Estilo1" scope="col">Primera
</th> <th class="Estilo1" scope="col"><div align="center">Segunda
</div></th> <th class="Estilo1" scope="col"><div align="center">Tercera
</div></th>
<tr><td><input type='text' name='cantidad[]' value='1'* />+
</td><td><input type='text' name='caja[]'/>=
</td><td><input type='text' name='resultado[]' /></td></tr> <tr><td><input type='text' name='cantidad[]' value='56' />+
</td><td><input type='text' name='caja[]'/>=
</td><td><input type='text' name='resultado[]' /></td></tr> <tr><td><input type='text' name='cantidad[]' value='7'* />+
</td><td><input type='text' name='caja[]'/>=
</td><td><input type='text' name='resultado[]' /></td></tr> <tr><td><input type='text' name='cantidad[]' value='10' />+
</td><td><input type='text' name='caja[]'/>=
</td><td><input type='text' name='resultado[]' /></td></tr>
function Sumas(nombre_form){
var f = document.forms[nombre_form],T = f.getElementsByTagName('tr'),i=0,l=T.length,Sum,all,
S = function(Prim,Seg,Ter){
// Proceso de suma
Sum = function(){Ter.value = (parseInt(Prim.value,10) || 0) + (parseInt(Seg.value,10) || 0)}
Seg.onkeyup = Sum
Ter.onfocus = Sum
Ter.onblur = Sum
return !0
}, byName = function(T,name){
// Buscar atributo name
all = T.getElementsByTagName('*'),j=0
while(all[j].getAttribute('name') != name && j<all.length) j++
return all[j]
}
// Sumar al teclear, salir de la caja, seleccionar caja...
while(i<l && S(byName(T[i],'cantidad[]'), byName(T[i],'caja[]'), byName(T[i],'resultado[]'))) i++
}
Sumas('autoSumForm')
</script>
</body>
</html>
Agregando Tabla, aunque esta me interesa más.
Código Javascript
:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<form name="autoSumForm">
<table width="200" border="0">
<tr>
<th scope="col">Primera</th>
<th scope="col">Segunda</th>
<th scope="col">Tercera</th>
</tr>
<tr>
<td><input type='text' name='cantidad[]2' value='1'* /></td>
<td><input type='text' name='caja[]2'/></td>
<td><input type='text' name='resultado[]2' /></td>
</tr>
<tr>
<td><input type='text' name='cantidad[]3' value='56' /></td>
<td><input type='text' name='caja[]3'/></td>
<td><input type='text' name='resultado[]3' /></td>
</tr>
<tr>
<td><input type='text' name='cantidad[]4' value='7'* /></td>
<td><input type='text' name='caja[]4'/></td>
<td><input type='text' name='resultado[]4' /></td>
</tr>
<tr>
<td><input type='text' name='cantidad[]' value='10' /></td>
<td><input type='text' name='caja[]'/></td>
<td><input type='text' name='resultado[]' /></td>
</tr>
</table>
</form>
<script>
function Sumas(nombre_form){
var f = document.forms[nombre_form],T = f.getElementsByTagName('tr'),i=0,l=T.length,Sum,all,
S = function(Prim,Seg,Ter){
// Proceso de suma
Sum = function(){Ter.value = (parseInt(Prim.value,10) || 0) + (parseInt(Seg.value,10) || 0)}
Seg.onkeyup = Sum
Ter.onfocus = Sum
Ter.onblur = Sum
return !0
}, byName = function(T,name){
// Buscar atributo name
all = T.getElementsByTagName('*'),j=0
while(all[j].getAttribute('name') != name && j<all.length) j++
return all[j]
}
// Sumar al teclear, salir de la caja, seleccionar caja...
while(i<l && S(byName(T[i],'cantidad[]'), byName(T[i],'caja[]'), byName(T[i],'resultado[]'))) i++
}
Sumas('autoSumForm')
</script>
</body>
Te pido mis más sinceras disculpas por esto.
Gracias