Foros del Web » Programando para Internet » Javascript »

Modificar input onkeyup

Estas en el tema de Modificar input onkeyup en el foro de Javascript en Foros del Web. Hola querida comunidad! Me ha surgido un pequeño problema con un pequeño script y necesito de vuestra colaboración, a ver si alguien es tan amable ...
  #1 (permalink)  
Antiguo 04/05/2010, 05:02
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años, 6 meses
Puntos: 18
Modificar input onkeyup

Hola querida comunidad!

Me ha surgido un pequeño problema con un pequeño script y necesito de vuestra colaboración, a ver si alguien es tan amable de ayudarme con mi pequeño problema

Os pongo en situación tengo un campo input y una funcion, primero la función comprueba que el campo es numérico y segundo comprueba que es más pequeño que un número dado, lo que quiero hacer es que, en el caso de que no sea numérico el campo se borre y en el caso de que sea más grande el número éste cambie al valor máximo. Pongo en el código para que lo vean mejor:

Código Javascript:
Ver original
  1. function compruebanumero (formulari, valormax) {
  2.    
  3.     if(!isNaN(document.getElementById(formulari).value)) {
  4.     if(document.getElementById(formulari).value > valormax) {
  5. //no hace nada...
  6. document.getElementById(formulari).value = valormax;
  7. }
  8. } else {
  9. //esto si funciona
  10. document.getElementById(formulari).value = '';
  11. }  
  12. }
  13.  
  14.  
  15. <input id="id1" type="text" onKeyUp="compruebanumero ('id1','50');">

Mi problema viene porque esta comprobación: if(document.getElementById(formulari).value > valormax) se la pasa por el forro si el número es de 3 cifras o más, es decir, si pongo 54 funciona, 56 tambien... pero si pongo 100 o 230 no. Además quiero poner que solo deje meter enteros y si meto punto no se vacia el campo puesto que cabe la posibilidad de que sea número decimal y claro... tampoco se hacerlo :(.

Alguna solución? respecto a la comprobación si es mayor o no creo que es culpa de la cadena que no la lee como deberia, pero aun asi, sigo sin saber solucionarlo.

Un saludo y gracias de antemano
  #2 (permalink)  
Antiguo 04/05/2010, 10:01
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Modificar input onkeyup

respecto a la comparacion, te sucede porque el argumento de la invocacion es un string y no un entero. cuando javascript encuentra que ambos operando del operador de comparacion son string, este actua de forma distinta.
Código:
compruebanumero ('id1','50')
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: input, modificar, onkeyup
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 13:57.