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 ! =)

Preguntas similare

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 ! =)
Respuesta Responder a este mensaje
#2 Elva Pascacio
02/06/2008 - 17:24 | Informe spam
Matias,

Aplique lo que me hiciste favor de responder a mi pregunta pero me aparece
el error de "Object Required" en:

one = document.getElementById('txtCumpAjustCatego' + i).value;

No reconoce el objeto de texto

"Matias Iacono" wrote:

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 ! =)
Respuesta Responder a este mensaje
#3 Elva Pascacio
02/06/2008 - 17:29 | Informe spam
Matias,

Aplique lo que me hiciste favor de responder a mi pregunta pero me aparece
el error de "Object Required" en:

one = document.getElementById('txtCumpAjustCatego' + i).value;

No reconoce el objeto de texto

Tambien ya le agregue en el código html al objeto de texto un id

<td class="SubEncabezado"><input name="txtCumpAjustCatego<%=contador%>"
id="txtCumpAjustCatego<%=contador%>" type="text" value="" size="10"
onFocus="this.style.background ='#FFFF99';empiezaCalc();"
onBlur="this.style.background='white';ParaCalc();"></td>
Respuesta Responder a este mensaje
#4 Matias Iacono
02/06/2008 - 20:12 | Informe spam
Podrias colocar TODO el codigo HTML resultante de tu pagina?

Saludos.

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


"Elva Pascacio" wrote:

Matias,

Aplique lo que me hiciste favor de responder a mi pregunta pero me aparece
el error de "Object Required" en:

one = document.getElementById('txtCumpAjustCatego' + i).value;

No reconoce el objeto de texto

Tambien ya le agregue en el código html al objeto de texto un id

<td class="SubEncabezado"><input name="txtCumpAjustCatego<%=contador%>"
id="txtCumpAjustCatego<%=contador%>" type="text" value="" size="10"
onFocus="this.style.background ='#FFFF99';empiezaCalc();"
onBlur="this.style.background='white';ParaCalc();"></td>
Respuesta Responder a este mensaje
#5 Elva Pascacio
02/06/2008 - 22:21 | Informe spam
aHI TE VA

<table width="90%" align="center">
<tr class="HeaderFormulario2">
<td colspan="6">Ajuste Categoría</td>
</tr>
<tr class="HeaderFormulario2">
<td>Categoría</td>
<td align="center">Cuota</td>
<td align="center">Real</td>
<td align="center">% Cumplimiento</td>
<td align="center">Cuota Ajustada</td>
<td align="center">% Cumplimiento Ajustado</td>
</tr>
<% set RS3=ConsultarSQL("exec SP 1,"&Periodo&","&Zona&"")
%>
<%do while not RS.EOF
contador = contador + 1 %>
<tr>
<td class="SubEncabezado"><%=RS("valor1")%></td>
<td class="SubEncabezado"><input name="txtCuota<%=contador%>"
id="txtCuota<%=contador%>" type="text" value="<%=RS("valor2")%>" size="10"
readonly></td>
<td class="SubEncabezado"><input name="txtNReal" type="text"
value="<%=S("valor3")%>" size="10" readonly></td>
<td class="SubEncabezado"><input name="txtCumplimiento" type="text"
value="<%=RS("valor4")%>" size="10" readonly></td>
<td class="SubEncabezado"><input
name="txtCuotaAjustCatego<%=contador%>" id="txtCuotaAjustCatego<%=contador%>"
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%>" id="txtCumpAjustCatego<%=contador%>"
type="text" value="" size="10" onFocus="this.style.background
='#FFFF99';empiezaCalc();"
onBlur="this.style.background='white';ParaCalc();"></td>
</tr>
<% RS.MoveNext
Loop
RS.close
set RS = nothing
%>
</table>

"Matias Iacono" wrote:

Podrias colocar TODO el codigo HTML resultante de tu pagina?

Saludos.

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


"Elva Pascacio" wrote:

> Matias,
>
> Aplique lo que me hiciste favor de responder a mi pregunta pero me aparece
> el error de "Object Required" en:
>
> one = document.getElementById('txtCumpAjustCatego' + i).value;
>
> No reconoce el objeto de texto
>
> Tambien ya le agregue en el código html al objeto de texto un id
>
> <td class="SubEncabezado"><input name="txtCumpAjustCatego<%=contador%>"
> id="txtCumpAjustCatego<%=contador%>" type="text" value="" size="10"
> onFocus="this.style.background ='#FFFF99';empiezaCalc();"
> onBlur="this.style.background='white';ParaCalc();"></td>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida