Foros del Web » Programando para Internet » Javascript »

validar un campo

Estas en el tema de validar un campo en el foro de Javascript en Foros del Web. Hola a todos necesito de su ayuda tengo una función que utilizo en un textbox para que no puedan meter un valor mayor a 100 ...
  #1 (permalink)  
Antiguo 07/03/2003, 21:24
Avatar de harg  
Fecha de Ingreso: abril-2002
Ubicación: Querétaro
Mensajes: 573
Antigüedad: 22 años
Puntos: 3
validar un campo[Resuelto]

Hola a todos necesito de su ayuda tengo una función que utilizo en un textbox para que no puedan meter un valor mayor a 100 y bueno si siguen poniendo más de 100 aparece un alert que yo puse, pero si le dan con el tabulador no valida nada, alguien me puede ayudar? se los agradecería infinítamente, aqui les pongo la función.

function acceptNum100(evt,total){
var key = nav4 ? evt.which : evt.keyCode;
if (total>100) {
alert("pon un valor entre 0 y 100");
return}
else
return (key <= 13 || key == 45 || (key >= 48 && key <= 57));
}

<input name="porcentaje" type="text" size="6" maxlength="3" onKeyPress="return acceptNum100(event,this.value)">

No se si mi idea vaya correcta pero se me hace que lo que necesita estar parametrizado el FOCUS no?, pero el chiste es como le hago, es decir que si se salió fuera del focus y el valor es mayor marque el error, alguna idea?

Gracias
__________________
"Semper est periculosam societas cum potentem"

Última edición por KarlanKas; 10/03/2003 a las 17:51
  #2 (permalink)  
Antiguo 08/03/2003, 06:48
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
Hola Harg,

agrega esto


<input name="porcentaje" type="text" size="6" maxlength="3" onKeyPress="return acceptNum100(event,this.value)" onBlur="return acceptNum100(event,this.value)">

  #3 (permalink)  
Antiguo 09/03/2003, 22:51
Avatar de harg  
Fecha de Ingreso: abril-2002
Ubicación: Querétaro
Mensajes: 573
Antigüedad: 22 años
Puntos: 3
Hola tunait, gracias por contestar pero me temo informate que no funcionó inclusive me mandó un error, alguna otra idea?
__________________
"Semper est periculosam societas cum potentem"
  #4 (permalink)  
Antiguo 10/03/2003, 02:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola harg.

¿Que error te da? Porque acabo de probar el código de Tunait (¡Hola!) y me ha funcionado bien.

Saludos,
  #5 (permalink)  
Antiguo 10/03/2003, 03:15
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Hola a todos!!!

Creo que entiendo a harg. Y la solucíon creo que está en cambiar el onKeyPress por un onKeyUp.

Un saludo y dime si es eso, harg !!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 10/03/2003, 03:22
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Por cierto, no sé si será lo que buscas pero -por una inexplicable razón se puede introducir en el Input simbolos como ºª. Y también !"·$%&/(... pero estos es porque la tecla que pulsas es la misma que la de los números... deberías añadir un verificador de que no se está pulsando la tecla shift o Alt Gr. Si te interesa te miro a ver cómo hacerlo. Lo que me sorprende es que salga º y ª ...

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #7 (permalink)  
Antiguo 10/03/2003, 11:57
Avatar de harg  
Fecha de Ingreso: abril-2002
Ubicación: Querétaro
Mensajes: 573
Antigüedad: 22 años
Puntos: 3
Hola KarlanKas, no te entendí muy bien lo último de qu eme miras como hacerlo....
__________________
"Semper est periculosam societas cum potentem"
  #8 (permalink)  
Antiguo 10/03/2003, 12:29
Avatar de harg  
Fecha de Ingreso: abril-2002
Ubicación: Querétaro
Mensajes: 573
Antigüedad: 22 años
Puntos: 3
Hola a todos y bueno basándome en la empujada que me dio Tunair la cual se la agradezco la solución por fín me quedó

onblur="return acceptNum100(this.value)"

no le tenía que enviar el evento si no nada más el valor y listo o sea que quedó de la siguiente manera

<input name="porcentaje_segundo_idioma" type="text" onblur="return acceptNum100(this.value)" onKeyPress="return acceptNum(event)" size="6" maxlength="3">

y bueno pues ya quedó lo que necesitaba, de todos modos les agradezco a todos por su ayuda y su paciencia.
__________________
"Semper est periculosam societas cum potentem"
  #9 (permalink)  
Antiguo 10/03/2003, 12:38
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
harg!

Lo que decía es que si alguien quiere puede poner en tu formulario lo siguiente "$$$" sin que le salga error, esto es porque sólo se verifica si se presiona una tecla y no si además se pulsa la tecla Alt o Mayusculas (Shift).

Hay formas de comprobar si están pulsadas. Así podremos evitar que se pulsen estas teclas además de la del número... qué te parece. Aunque se puede hacer:


if (isNaN(porcentaje_segundo_idioma)){porcentaje_segu ndo_idioma.value="";porcentaje_segundo_idioma.focu s()}

En fín, que nada que era algo del todo innecesario...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 08:09.