Foros del Web » Programando para Internet » ASP Clásico »

suma de textbox dinamicos

Estas en el tema de suma de textbox dinamicos en el foro de ASP Clásico en Foros del Web. hola que tal....................... tengo la siguiente problema necesito sumar cajas de textos de un formulario y mostrar el resultado en otra caja de texto, para ...
  #1 (permalink)  
Antiguo 13/01/2005, 14:56
 
Fecha de Ingreso: septiembre-2003
Mensajes: 265
Antigüedad: 21 años, 7 meses
Puntos: 1
suma de textbox dinamicos

hola que tal.......................
tengo la siguiente problema necesito sumar cajas de textos de un formulario y mostrar el resultado en otra caja de texto, para eso tengo el siguiente codigo:

<html>
<head>
<title>Suma de valores en texbox</title>
</head>
<body>
<script>
function suma(){
var vtemp=0
vresult=0
for (var i=1;i<5;i++){ // hace un bucle para calcular todos los valores
vtemp=eval("parseFloat(document.all.box"+i+".value )")
if(!isNaN(vtemp)) vresult+=vtemp // si valor es número negativo, añadir
}
document.all.result.value=vresult // cambia el último valor...Resultado uno
}
</script>
<form>
<p>
<%
for i = 1 to 4
%>
Valor <%=i%>: <input name="box<%=i%>" onchange="suma()" size="20">
<br>
<%
next
%>
<br>
Suma total:<input name="result" size="20"> </p>
</form>
</body>
</html>

el cual funciona pero solo para 4 texbox, e tratado de hacerlo dinamicamente e modificado el codigo pero siempre tengo el mismo problema ya que no se como hacer pasar la variable a la funcion para que tome.

me explico
<html>
<head>
<title>Suma de valores en texbox</title>
</head>
<body>
<script>
function suma(){
var vtemp=0
vresult=0

"recibo la varible j y la guardo en aux"
"a la variable aux le sumo 1"
"pero mi problema es como recibo la varible j aqui"<----------------------

for (var i=1;i<aux;i++){ // hace un bucle para calcular todos los valores
vtemp=eval("parseFloat(document.all.box"+i+".value )")
if(!isNaN(vtemp)) vresult+=vtemp // si valor es número negativo, añadir
}
document.all.result.value=vresult // cambia el último valor...Resultado uno
}
</script>
<form>
<p>
<%
j = 4 <------imaginemos que el nº 4 lo ingreso el usuario
for i = 1 to j
%>
Valor <%=i%>: <input name="box<%=i%>" onchange="suma()" size="20">
<br>
<%
next
%>
<br>
Suma total:<input name="result" size="20"> </p>
</form>
</body>
</html>
** mi duda como paso la varible j a la funcion suma para que cuando haga el for en la funcion suma sea de 1 to "j" **
  #2 (permalink)  
Antiguo 13/01/2005, 15:28
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Algo así, pero investiga mejor en el foro de javascript...debes hacerle un parse pues recibes un string y quieres sumar un numérico, a lo mejor es variable.parseInt no estoy seguro.

<script language="javascript">
var sumando =0;
function suma(que_numero)
{
sumando = sumando + que_numero;
}
</script>

<input name="box<%=i%>" onchange="suma(this.value);" size="20">

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 13/01/2005, 16:43
 
Fecha de Ingreso: septiembre-2003
Mensajes: 265
Antigüedad: 21 años, 7 meses
Puntos: 1
De acuerdo

lo hice haci y hasta el momento esta resultando.................

ahora necesito hacer otras cosas con relacion a esto si tengo dudas les prgunto ¿ok?

<html>
<head>
<title>Suma de valores en texbox</title>
</head>
<body>
<script>
function suma(){
var vtemp=0
var total = <%=request.Cookies("j")%>
vresult=0
for (var i=1;i<total+1;i++){ // hace un bucle para calcular todos los valores
vtemp=eval("parseFloat(document.all.box"+i+".value )")
if(!isNaN(vtemp)) vresult+=vtemp // si valor es número negativo, añadir
}
document.all.result.value=vresult // cambia el último valor...Resultado uno
}
</script>
<form>
<p>
<%
n = 8
response.Cookies("j")=n
for i = 1 to 8
%>
Valor <%=i%>: <input name="box<%=i%>" onchange="suma()" size="20">
<br>
<%
next
%>
<br>
Suma total:<input name="result" size="20"> </p>
</form>
</body>
</html>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:38.