Safari móvil admite un atributo en elementos de entrada llamado autocapitalize [documented here], que cuando se establece en 'off' detendrá el iPhone capitalizando la entrada de texto en ese campo, que es útil para campos de correo electrónico o url.¿Se puede autocapitalizar desactivar con javascript en el safari móvil?
<input type="text" class="email" autocapitalize="off" />
Pero este atributo no es válido en HTML 5 (u otra especificación por lo que sé) por lo que su inclusión en el html producirá una página HTML no válido, lo que me gustaría hacer es ser capaz de añadir este atributo a campos particulares onLoad con javascript con algo como esto:
$(document).ready(function(){
jQuery('input.email, input.url').attr('autocapitalize', 'off');
});
que añade el atributo correcto en Firefox y Safari de escritorio, pero no parece hacer nada en Safari móvil, cualquier idea por qué?
Es mucho mejor especificarlo en el HTML y sufrir una advertencia inofensiva que hacerlo en Javascript sin ningún beneficio real. Has reemplazado algo simple, obvio y rápido, que funciona incluso sin secuencias de comandos, con algo innecesariamente complicado. –
@Glenn: no es exactamente una advertencia inofensiva. Usted (y cualquier otra persona que mantenga el código) tiene que recordar que esta advertencia de validación específica no importa. Algo molesto –
@Paul: el propósito de los validadores es asegurarse de que conoce cuándo utiliza funciones no estándar, para que pueda tomar una decisión informada en lugar de utilizarlas sin saberlo. No están ahí para evitar que los uses. –