2012-01-15 12 views
16

Soy consciente de esto:¿Cómo hacer que el campo de entrada escriba tanto numérico como contraseña?

<input type="tel"> 

y estoy consciente de ello:

<input type="password"> 

pero me gustaría utilizar ambos. Quiero que el teclado numérico aparezca en iOS (específicamente) pero oculte cada carácter una vez que se haya tipeado. Es algo como esto posible?

<input type="tel|password"> 
+2

Esto debería ser para lo que está trabajando: http://stackoverflow.com/a/8334379/947898. – uadrive

Respuesta

1

Puede hacer que el tipo de entrada de contraseña y luego usar javascript para validar que sólo los números se han introducido cuando el botón de enviar se ha pulsado. http://www.configure-all.com/javascript_form_validation.php

+1

Esta habría sido mi respuesta también, pero parece que el OP quiere habilitar algunas características de IU específicas de iOS que normalmente son activadas por 'type =" tel "'. No creo que la validación de entrada de JS ayude con eso. –

+0

El enlace de respuesta ya no es válido. ¿Qué sería un enlace actualizado para ayudar? – Whitecat

8

HTML del cuadro de entrada:

<input type="tel" name="password" id="password" value="" placeholder="Enter password" 
    onfocus="changeToPassword()"> 

Javascript:

// change the type of the input to password 
function changeToPassword() { 
    setTimeout(function() { 
     document.getElementById("password").setAttribute("type", "password") 
    }, 500); 
} 

esta solución funciona en el iPhone. Esto es como un truco. Una vez que tenga el teclado numérico en los próximos 500 milisegundos, cambie el atributo a contraseña y eso engaña al teléfono.

+2

Esto no funcionará de nuevo. Después de que alguien ingrese la información y se borre e intente ingresar nuevamente la información, ahora el tipo ya está configurado como contraseña, el teclado numérico no vendrá. – Fyre

15

Para iOS se puede ajustar la entrada a escribir "contraseña" y todavía disparar el numérico teclado utilizando el HTML 5-Atributo "patrón":

<input type="password" pattern="[0-9]*" ... /> 

Desde el Apple-Documentation:

Para mostrar un teclado numérico, establecer el valor del atributo de patrón en "[0-9] " o "\ d".

+0

Esta respuesta está subestimada y es una forma mucho mejor de lograr lo que se pidió, específicamente en iOS. –

+3

Lamentablemente, no funciona en Android – SILENT

+2

Esto no funcionará en iOS, al menos iOS9. establecer el tipo de contraseña invalida los atributos de patrón y modo de ingreso. – cduguet

Cuestiones relacionadas