I'm aware of this:
<input type="tel">
and I'm aware of this:
<input type="password">
But I would like to use both. I want the numeric keypad to come up on iOS (specifically) but hide each character after it's typed. Is something like this possible?
<input type="tel|password">
To take password input in HTML form, use the <input> tag with type attribute as a password.
The <input type="password"> defines a password field (characters are masked).
The maxlength attribute defines the maximum number of characters (as UTF-16 code units) the user can enter into an <input> or <textarea> . This must be an integer value 0 or higher.
For iOS you can set the input to type "password" and still trigger the numeric-keyboard using the HTML5-Attribute "pattern":
<input type="password" pattern="[0-9]*" ... />
From the Apple-Documentation:
To display a numeric keyboard, set the value of the pattern attribute to "[0-9]" or "\d".
Html of input box:
<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); }
this solution works on the iphone. This is kind of a hack. Once you have the number pad in the next 500 miliseconds you change the attribut to password and that tricks the phone.
You can make the input type password and then use javascript to validate that only numbers have been entered when the submit button has been pressed. http://www.configure-all.com/javascript_form_validation.php
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With