tengo el siguiente marcado:Chrome/HTML5: ¿Número de tipo de entrada que no respeta el atributo max?
<input type="number" max="99" />
En Google Chrome (y posiblemente otros navegadores webkit), esto restringirá el control de giro de la flecha hacia arriba para que no pasen 99, pero no evitar que el usuario escriba una número superior a 99. Incluso onblur, el valor no válido no se elimina/reemplaza o incluso una advertencia dado que el valor no es válido.
¿Estoy malinterpretando cómo se supone que funciona, o es un error? Estoy usando la última versión de Chrome (19 al momento de escribir).
Editar:
Para aclarar, yo quiero saber por qué se permite que un número mayor que el máximo especificado para ser introducida en el primer lugar. Me doy cuenta de que da una información sobre herramientas en el envío del formulario que le dice que no es válido, pero parece ser un comportamiento incoherente que el girador no le permitirá ir por encima del máximo, sin embargo, simplemente puede escribir un número por encima del máximo en cualquier momento para eludir eso.
Si este es el comportamiento deseado por alguna razón, ¿por qué? ¿Y existe una mejor opción para aplicar el rango de entrada sin recurrir a JS?
funciona bien para mí, me sale el mensaje de error "El valor debe ser menor o igual a 99.". ¿Podemos ver tu código real, por favor? –
Chrome y Opera arrojan una advertencia cuando intento enviar un formulario que tiene un número fuera del rango: http://jsfiddle.net/j08691/Uv3EA/ – j08691
¿Por qué esto solo se muestra en el envío del formulario? Y más importante aún, ¿por qué está permitido en primer lugar? Restringe la ruleta, por lo que no puede usarla para ingresar un valor más alto. ¿Por qué no también la entrada manual? Y no puedo usar maxlength, o pattern para restringirlo, ya que estos no son aplicables a las entradas de tipo de número. Estoy atrapado escribiendo un JS kludge ... – FtDRbwLXw6