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
function compruebanumero (formulari, valormax) { if(!isNaN(document.getElementById(formulari).value)) { if(document.getElementById(formulari).value > valormax) { //no hace nada... document.getElementById(formulari).value = valormax; } } else { //esto si funciona document.getElementById(formulari).value = ''; } } <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