Gracias, las pruebas ya las he hecho en unos 20 navegadores diferentes, pero...
El caso es que si, efectivamente los navegadores deberian comprobar que si el "max" introducido tiene 3 digitos no se permita introducir más de 3, pero en la práctica este comportamiento únicamente lo llevan a cabo si añades el maxlength, otro asunto, para afinar más seria la imposibilidad de introducir caracteres no numéricos, ni relacionados con los números, pero esto probablemente debería conllevar un nuevo atributo para indicar el sistema de numeración o simplemente permitir el atributo "pattern", probablemente más adecuado que el maxlength pero que es aun menos soportado. Mi duda era por si habia alguna otra alternativa "válida" que hiciera esto posible. De momento, efectivamente, he decidido publicar con tipo number pero añadiendo el maxlength, que aunque no valida, proporciona una funcionalidad adecuada. Saludos, Jose El 24/01/2011, a las 16:54, The CHK Server Project escribió: > Hola, Jose: > > Según he estado viendo en la especificación[1] el rango se controla con los > parámetros min y max. > Para usabilidad veo sentido a lo que dices de controlar el maxlength, pero > sin eso, cuando envías > el formulario te da un aviso si las cifras están fuera de rango... (podéis > probarlo adaptando w3schools[2]) > > A lo que quiero llegar, es que estrictamente hablando se cumple la > validación de los inputs, aunque > en este caso no puedes "controlarlo" hasta que el usuario realiza la acción > de "submit". Creo que es > mejor esto que hacer conversiones a string y perder la usabilidad de los > botonos de incremento/decremento. > > Un saludo. > > [1] http://www.w3.org/TR/html-markup/input.number.html > [2] http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_form_email > > El 23 de enero de 2011 12:03, Jose Gil <clli...@gmail.com> escribió: > >> Hola a todos. >> >> Hace dias que estoy dandole vueltas a la validacion de inputs de numeros en >> formularios html5 y no he encontrado la forma de controlar la longitud >> maxima. >> >> Si escribo: >> <input type="number" min="0" max="999" id="x" name="x" maxlength="3" >> value="0" title="algo" class="numero"/> >> >> Funciona pero no valida el estandar puesto que "maxlength" no es soportado >> para "number". >> >> Si escribo: >> <input type="number" min="0" max="999" id="x" name="x" pattern="[0-9]{3}" >> value="0" title="algo" class="numero"/> >> >> Ni funciona (supongo que no está soportado por el navegador) ni valida el >> estandar puesto que "pattern" tampoco es soportado para "number". >> >> Evidentemente no se puede solucionar con CSS puesto que no es su funcion. >> (Si solucioné con CSS el size). >> >> Si se convierte el campo a text y filtrando con pattern sigue sin >> funcionar. >> Si se le añade maxlength funcionaría. >> Para validar en este caso hay que eliminar los atributos min y max. >> En este caso se pierden también las flechas de incremento/decremento y las >> adaptaciones de teclado en móviles. >> >> >> Alguien sabe como controlar con number (sin convertir a text ni javascript) >> la longitud al mismo tiempo que valida html5. >> >> >> Gracias por anticipado. >> >> Saludos, >> Jose >> _______________________________________________ >> Lista de distribución Ovillo >> Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org >> Puedes modificar tus datos o desuscribirte en la siguiente dirección: >> http://lists.ovillo.org/mailman/listinfo/ovillo >> > _______________________________________________ > Lista de distribución Ovillo > Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org > Puedes modificar tus datos o desuscribirte en la siguiente dirección: > http://lists.ovillo.org/mailman/listinfo/ovillo _______________________________________________ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo