2011-06-17 16 views
5

¿Hay alguna forma de especificar qué diseño de teclado suave (solo necesito números) se muestra cuando el usuario toca un campo de entrada de texto en una página HTML?Tipo de teclado suave en una página HTML personalizada

Puedo cambiar la página HTML y el código Java (tengo una actividad incrustando un WebView). Sin embargo, no debe afectar a otras plataformas si cambio el código HTML (otro navegador/dispositivo aún debe interpretar el campo de entrada correctamente y mostrar un teclado suave, no necesariamente un teclado numérico)

Respuesta

4

No intenté esto, pero en teoría debería funcionar:

Utilice el atributo HTML5 type para la etiqueta <input> para declarar que el campo solo acepta números. Esto le dará al navegador la pista para mostrar un teclado numérico. Para que esto solo tenga efecto en los dispositivos Android, considere emitir algún JavaScript específico de Android (que podría hacer la detección de la plataforma en el cliente a través del agente de usuario o que podría ser enviado por el servidor si eso detecta un dispositivo Android). utilizando el encabezado del agente de usuario), que atraviesa todos los elementos de entrada (tal vez marcados con una clase especial) y configura el type en number.

1

Parecen funcionar de manera diferente en diferentes dispositivos y versiones del sistema operativo. Básicamente depende de la versión de WebKit que se ejecuta en un dispositivo. Si es compatible con esas etiquetas, funcionará; de lo contrario, ignorará esa etiqueta.

En 2.3.4, en My Nexus S, escriba = número, le da un teclado numérico.

1

También he visto que agregar 'pattern = "[0-9] *"' a su etiqueta de entrada. Pruebe:

<input type="number" size="4" maxlength="4" pattern="[0-9]*" ></input> 
Cuestiones relacionadas