Controlling which iOS keyboard is shown

Posted 14th August 2010 in Blog

One of my pet hates (there are many), is being presented with the incorrect keyboard, or having auto capitalisation forced upon me, when entering information into web forms on my iPhone or iPad.  This is something that’s very easy to control and can be done so with a little sprinkle of HTML5.  You don’t even have to worry about old browsers - I’ve tested this to work perfectly well even in IE6.

The screenshots used in this post are from a UK based iPhone 4 running iOS4; previous versions of iPhone OS and the iPad will differ.

Your standard text input field code will look something like this:

<input type="text"></input

Telephone keyboard

In order to display the telephone keyboard, use this:

<input type="tel"></input

Tester:

URL keyboard

For URLs you want this:

<input type="url"></input

Tester:

Email keyboard

For email addresses, you want this:

<input type="email"></input

Tester:

Numerical keyboard

And finally, for a simple numerical keyboard (similar to the telephone one but with no +, * and # key:

<input type="text" pattern="[0-9]<em>"></input

Tester:

Other options

It’s also possible to control auto correct with the use of the following paramater:

autocorrect="off" 

Last, but by no means least, turning on or off auto capitalisation:

autocapitalize="off" 

So the next time you’re creating a login field that takes an email address, use something like this:

<input type="email" autocorrect="off" autocapitalize="off"></input

Tester:

Suite 161
24 Station Square
Inverness
IV1 1LD

01463 630020
01463 630027 (Fax)

info@steveabraham.co.uk