Foros del Web » Programando para Internet » Javascript »

Validacion de Input type text

Estas en el tema de Validacion de Input type text en el foro de Javascript en Foros del Web. Holas!!! Estoy tratando de validar los valores que se introducen en un Text, pero me da error no funciona de ninguna manera. Me podrian ayudar ...
  #1 (permalink)  
Antiguo 25/08/2006, 10:00
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 9 meses
Puntos: 0
Validacion de Input type text

Holas!!!

Estoy tratando de validar los valores que se introducen en un Text, pero me da error no funciona de ninguna manera. Me podrian ayudar a ver que tengo de mal.

Esta es la funcion que tengo:

<script language="vbscript">
function valida(texto)
texto.value=replace(cstr(texto.value),",",".")
if texto.value <> "" then
if not isNumeric(texto.value) then
Msgbox "El Valor introducido no es valido",48
texto.value = ""
end if
end if
end function
</script>

Hago un select de los registros que tienen un valor llamado TARGET en, y me muestre ese valor en un input type text:
<input readonly="" name="targetbox1" type="text" value="<%=response.Write(target)%>" size="7">

Si no tiene valor pongo un text en blanco para que introduzcan el valor:
<input name="targetbox1" type="hidden" onBlur="VBScript: valida(document.dd.targetbox1)" value="" size="7" maxlength="13">

Que pasa esto esta dentro de un ciclo, o sea que podrá haber varios text en blanco porque habrá varios registros sin el Target, entonces deberan ser insertados a mano.

Me da este error:
Object does'nt support this property or method:"texto.value"

en si, lo que quiero validar es que alli en esos text solo se pueda introducir numeros y puntos. no permitir ni letras ni otros caracteres.
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.

Última edición por Dianinha; 25/08/2006 a las 10:03 Razón: Falto algo
  #2 (permalink)  
Antiguo 25/08/2006, 10:05
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 10 meses
Puntos: 146
a caray!!!

a ver, a ver, a ver ....

¿Tienes un SCRIPT DE CLIENTE en vbs que quieres que se ejecute cuando un campo oculto pierda el foco?

<input name="targetbox1" type="hidden" onBlur="vbscript: valida(document.dd.targetbox1)" value="" size="7" maxlength="13">

1) No debes usar vbs como script del cliente por que solo sirve en IE, debes usar javascript

2) Los campos ocultos no se muestran por lo mismo, sus eventos no se ejecutan, debes usar un componente convencional

3) Referente al error. Debes de invocar al control de formulario desde el documento, no solo por su nombre, pero antes de seguir con esto, atiende a los puntos 1 y 2.

Saludos
  #3 (permalink)  
Antiguo 25/08/2006, 11:41
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 9 meses
Puntos: 0
Perdon me equivoque ignora el Hiden, no es asi. Lo tengo asi:

o sea aqui voy a mostrar un text en blanco, para que la persona pueda introducir el valor:

<input name="targetbox1" type="text" onBlur="VBScript: valida(document.dd.targetbox1)" value="" size="7" maxlength="13">

este es el que quiero validar que no introduzcan letras u otros caracteres, solo numeros o (.) Punto.
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.
  #4 (permalink)  
Antiguo 25/08/2006, 11:43
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 10 meses
Puntos: 146
¿es correcto eso de que lo quieres con vbscript en lugar de javascript?, digo, por que nadie lo hace así
  #5 (permalink)  
Antiguo 25/08/2006, 11:48
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 9 meses
Puntos: 0
No tiene que ser a juro a si. Si puedes ayudarme con otra manera de hacerlo, te lo agradeceria. Realmente no soy muy experta en esto, pero esa fue una de las maneras que encontre y no me funciona.
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.
  #6 (permalink)  
Antiguo 25/08/2006, 11:58
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 10 meses
Puntos: 146
aaaahhh ok, entonces usa esto:

Cita:
<html>
<head>
<script>
function SoloNumeros(e){
var charCode
if (navigator.appName == "Netscape"){ charCode = e.which }
else{ charCode = e.keyCode}
if ((charCode < 48 || charCode > 57) && charCode != 46)
return false
}

</script>
</head>
<body>
<input type="text" onKeyPress="return SoloNumeros(event)">
</body>
</html>
Saludos

PD. En el foro de javascript hay ejemplos más depurados, es decir, que solo te permita un punto o que incluso te formatee la cifra conforme la vas tecleando
  #7 (permalink)  
Antiguo 25/08/2006, 13:04
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 9 meses
Puntos: 0
Disculpa Myakire, intente pero no pude me da "Syntax error":
Lo intenté asi:
<input name="targetbox1" type="text" onKeyPress="return SoloNumeros(event)" value="" size="7" maxlength="13">
asi:
<input name="targetbox1" type="text" onKeyPress="return SoloNumeros(event.keycode)" value="" size="7" maxlength="13"> Synta error
y asi:
<input name="targetbox1" type="text" onKeyPress="return SoloNumeros(keycode)" value="" size="7" maxlength="13">

disculpa la molestia.
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.
  #8 (permalink)  
Antiguo 25/08/2006, 14:55
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 10 meses
Puntos: 146
Si ese código lo colocas tal cual en un probador de scripts verás que corre sin problemas.

Si te marca error de sintaxis es por que tal vez estas definiendo que estas usando vbscript como lenguaje de cliente.

Necesitaria ver más de tu código para ver donde esta el fallo.
  #9 (permalink)  
Antiguo 28/08/2006, 06:56
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 9 meses
Puntos: 0
Holaaaa!
Perfecto Myakire muchisimas gracias, si me funcionó, sucedía lo que me dijiste estaba utilizando vbscript como lenguaje de cliente.
De verdad te agradezco mucho.
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.
  #10 (permalink)  
Antiguo 28/08/2006, 14:45
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 9 meses
Puntos: 0
Hola de nuevo, disculpa Myakire, pero surge otra duda, quiero validar que ese text no se quede vacio, como haria para agregarle esa validacion a la misma funcion y que acepte el signo menos(-). O cual seria la otra funcion, disculpa la molestia.
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.

Última edición por Dianinha; 28/08/2006 a las 15:06
  #11 (permalink)  
Antiguo 28/08/2006, 17:44
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 10 meses
Puntos: 146
como puedes ver, el "chiste" de la función es permitir cualquiera de los cígos de tecla definidos en if ((charCode < 48 || charCode > 57) && charCode != 46), para permitir el guion hay que agregar el código 45. Y para que no quede vacio hay que preguntar si la logitud del value sea mayor a cero.

mmmmm, pero igual, alguien te puede ingresar una barbaridad, lo mejor sería usar una expresión regular o bien validar el valor con formato, eso último lo puedes ver en esta FAQ


Saludos
  #12 (permalink)  
Antiguo 29/08/2006, 07:57
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 9 meses
Puntos: 0
Ahora si Myakire, muuuchas gracias!!! de verdad me brindaste una gran ayuda. Ya logré todas las validaciones.
Gracias
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.
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 18:48.