Duda con sumas

30/05/2008 - 23:56 por Elva Pascacio | Informe spam
Hola que tal!,
Espero me puedan ayudar ya que me estoy quebrando la cabeza y ya no
encuentro la solución.

El problema es el siguiente, tengo una funcion e javascript que me suma 2
cajas de texto y el resultado me lo pone en otra, lo que quiero hacer es algo
más dinámico, dentro de mi código ASP tengo lo siguiente:

<%do while not RS.EOF contador = contador + 1 %>
<tr>
<td class="SubEncabezado"><input name="txtCuota<%=contador%>" type="text"
value="<%=RS("Quote")%>" size="10" readonly></td>
<td class="SubEncabezado"><input name="txtCuotaAjustCatego" type="text"
value="" size="10" onFocus="this.style.background ='#FFFF99';empiezaCalc();"
onBlur="this.style.background='white';ParaCalc();"></td>
<td class="SubEncabezado"><input name="txtCumpAjustCatego<%=contador%>"
type="text" value="" size="10" onFocus="this.style.background
='#FFFF99';empiezaCalc();"
onBlur="this.style.background='white';ParaCalc();"></td>
</tr>
<% RS.MoveNext
Loop%>

en donde los campos de texto txtCuota y txtCumpAjustCatego les agregue el
contador para que sean de nombre diferente, por ahora solo sumo los campos
txtCuota1 y txtCumpAjustCatego1, quiero que me haga la operación por todos
los campos si el ciclo son de 10 que sean la suma de los 20 campos de texto,
mi función en javascript es la siguiente:

function calc(){
one = document.main.txtCumpAjustCatego1.value;
two = document.main.txtCuota1.value;


document.main.txtCuotaAjustCatego1.value = ((one * 1) * (two * 1))/100;
}

Espero haberme hecho entender, agradecere su ayuda.

Gracias ! =)
 

Leer las respuestas

#1 Matias Iacono
02/06/2008 - 15:30 | Informe spam
Lo primero que necesitas es una variable o campo oculto que contenga el total
de textbox que hayas generado.

Entonces, con este total, en el JavaScript puedes hacer:

var _sumaTotal = 0;

for (var i = 0; i < TotalRegistros; i++)
{
one = document.getElementById('txtCumpAjustCatego' + i).value;
two = document.getElementById('txtCuota' + i).value;
_sumaTotal += ((one * 1) * (two * 1))/100;
}

document.main.txtCuotaAjustCatego1.value = _sumaTotal;

Ademas de colocar el atributo NAME a los controles, deberias agregar el
atributo ID con el mismo nombre.

Saludos.

Matías Iacono
Microsoft MVP
Orador Regional INETA
http://mvpfiles.spaces.live.com


"Elva Pascacio" wrote:

Hola que tal!,
Espero me puedan ayudar ya que me estoy quebrando la cabeza y ya no
encuentro la solución.

El problema es el siguiente, tengo una funcion e javascript que me suma 2
cajas de texto y el resultado me lo pone en otra, lo que quiero hacer es algo
más dinámico, dentro de mi código ASP tengo lo siguiente:

<%do while not RS.EOF contador = contador + 1 %>
<tr>
<td class="SubEncabezado"><input name="txtCuota<%=contador%>" type="text"
value="<%=RS("Quote")%>" size="10" readonly></td>
<td class="SubEncabezado"><input name="txtCuotaAjustCatego" type="text"
value="" size="10" onFocus="this.style.background ='#FFFF99';empiezaCalc();"
onBlur="this.style.background='white';ParaCalc();"></td>
<td class="SubEncabezado"><input name="txtCumpAjustCatego<%=contador%>"
type="text" value="" size="10" onFocus="this.style.background
='#FFFF99';empiezaCalc();"
onBlur="this.style.background='white';ParaCalc();"></td>
</tr>
<% RS.MoveNext
Loop%>

en donde los campos de texto txtCuota y txtCumpAjustCatego les agregue el
contador para que sean de nombre diferente, por ahora solo sumo los campos
txtCuota1 y txtCumpAjustCatego1, quiero que me haga la operación por todos
los campos si el ciclo son de 10 que sean la suma de los 20 campos de texto,
mi función en javascript es la siguiente:

function calc(){
one = document.main.txtCumpAjustCatego1.value;
two = document.main.txtCuota1.value;


document.main.txtCuotaAjustCatego1.value = ((one * 1) * (two * 1))/100;
}

Espero haberme hecho entender, agradecere su ayuda.

Gracias ! =)

Preguntas similares