Foros del Web » Programando para Internet » Javascript »

validar

Estas en el tema de validar en el foro de Javascript en Foros del Web. Hola, estoy usando ASP y javascript, pero si me dicen como hacerlo en javascript yo me puedo encargar de la parte de ASP, me explico: ...
  #1 (permalink)  
Antiguo 24/06/2004, 14:09
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
validar

Hola, estoy usando ASP y javascript, pero si me dicen como hacerlo en javascript yo me puedo encargar de la parte de ASP, me explico:

tengo un formulario y varios campos de texto


La cantidad de los campos y los nombres pueden ser infinitos, si el nombre es: "nombre_1" lo que es onChange va a ser ver('1'), si el nombre es nombre_2, el onChange va a ser ver('2')

osea el numero en que termina el nombre_x va a ser el mismo numero en ver('x')

Esot tiene que ser asi porque la informacion la saco de una BD, no se hasta que numero podrá llegar: x ejemplo
<form name="formulario">
<input type="text" name="nombre_1" onChange="ver('1')">
<input type="text" name="nombre_2" onChange="ver('2')">
<input type="text" name="nombre_3" onChange="ver('3')">
<input type="text" name="nombre_4" onChange="ver('4')">
<input type="text" name="nombre_5" onChange="ver('5')">
</form>

aqui está la funcion:

<script language="JavaScript">
function ver(viendo){
alert(formulario.nombre_+viendo.value);
}
</script>

eso es lo que he puesto en el javascript, pero a la hora de mostrar el alert sale "NaN"

cómo se hace? espero me puedan ayudar lo mas pronto posible

Gracias de antemano
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #2 (permalink)  
Antiguo 24/06/2004, 14:22
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Buenas ....

prueba así

alert(eval("formulario.nombre_" + viendo + ".value"));
  #3 (permalink)  
Antiguo 24/06/2004, 14:57
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
Gracias!! Si Me SirviÓ!
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #4 (permalink)  
Antiguo 24/06/2004, 15:08
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Óle qué bien
  #5 (permalink)  
Antiguo 24/06/2004, 15:10
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
otra pregunta, cómo hago para que salga esto:

<input type="text" name="suma_x">

eval("formulario.suma_" + viendo + ".value") = eval("formulario.nombre_" + viendo + ".value") * 10


osea quiero sumar el valor pero como se hace?
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #6 (permalink)  
Antiguo 24/06/2004, 15:15
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Prueba así

obj = eval("formulario.nombre_" + viendo);
obj.value = obj.value * 5

Eso sí, como el valor no sea numérico te devolverá NaN
  #7 (permalink)  
Antiguo 24/06/2004, 15:16
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Espera que leí mal...
  #8 (permalink)  
Antiguo 24/06/2004, 15:18
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
obj = eval("formulario.nombre_" + viendo);
objSuma = eval("formulario.suma_" + viendo);
objSuma.value = obj.value * 10

... y seguirá devolviendo NaN si el valor no es numérico
  #9 (permalink)  
Antiguo 24/06/2004, 16:07
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
Otra pregunta

3,3 * 3 = 9,9
pero yo quiero que sea 10

pero si es
1,1* 2 = 2,2
que sea 2?
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #10 (permalink)  
Antiguo 24/06/2004, 16:11
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Entonces puedes usar Math.round(valor)

objSuma.value = Math.round(obj.value * 10)
  #11 (permalink)  
Antiguo 24/06/2004, 16:29
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
pero tb puede ser asi:

3,33333 * 3 = 9,99999

pero solo agarro el primero despues de la coma para ver si sube o se queda con 3
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #12 (permalink)  
Antiguo 24/06/2004, 16:34
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
No importa la cantidad de decimales, te lo redondea igual.

Cuidado que si quedan decimales no devolverá 3,33, si no 3.33

Si pruebas esto alert(Math.round(3,33333 * 3)) te devolverá 3

En cambio si pruebas esto otro alert(Math.round(3.33333 * 3)) te devolverá 10

Recuerda que se usa el . (punto) para los decimales
  #13 (permalink)  
Antiguo 29/06/2004, 15:49
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
y no hay forma de mostrar los dos ultimos decimales?
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #14 (permalink)  
Antiguo 29/06/2004, 21:35
 
Fecha de Ingreso: marzo-2004
Mensajes: 77
Antigüedad: 20 años, 2 meses
Puntos: 0
Hola:
para redondear a decimales mira esto, de alli lo puedes implementar a 2,3 a cualquier decimal al cual kieras redondear:


Faq 116 de javascript. -> http://www.forosdelweb.com/showthrea...540#post343540
  #15 (permalink)  
Antiguo 30/06/2004, 17:19
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
gracias... si me sirve=)
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
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 07:37.