Video: New input types

A quick glance at the form section of the HTML5 specification is all that you'll need to see that there are some significant upgrades to form elements. This is only natural as HTML5 focuses in large part on building applications and forms are a big part of almost any application you might build. In this chapter, I want to focus on some of the changes to the forms specification and show you what you can do with them in your own web sites and applications. We'll start by focusing on a form element that adds some very powerful new attributes, the input field.

In HTML5 First Look, author James Williamson introduces the newest HTML specification, providing a high-level overview of HTML5 in its current state, how it differs from HTML 4, the current level of support in various browsers and mobile devices, and how the specification might evolve in the future. Exercise files accompany the course.

New input types

A quick glance at the form section of the HTML5 specification is all that you'llneed to see that there are some significant upgrades to form elements.This is only natural as HTML5 focuses in large part on building applications andforms are a big part of almost any application you might build.In this chapter, I want to focus on some of the changes to the formsspecification and show you what you can do with them in your own web sites and applications.We'll start by focusing on a form element that adds some very powerful newattributes, the input field.

The input field is the most common form element used in building HTML forms.The multiple types of input fields make it easy to add text fields, radiobuttons, checkboxes, and submit buttons to our forms.HTML5 adds a few new input field types that are going to make it a lot easier tobuild more responsive and more robust forms. Let's take a look.So here I've got the trails.htm from the 05_01 folder opened up.If I scroll down through the code, I can see that towards the bottom of this,where we used to have the Rider Review, we now have a form going on down here.

This is the form that lets people submit their own reviews.So not much else has changed.Notice that instead of an article now, it is now a section.We still have a header.We still have the hgroup up here, but the reason it changed from an article to asection is because the content really isn't standalone content anymore.This is not something that you're probably going to republish in another location.Okay, so if you look at the form, it's a pretty basic, very, very simple form.We've got a couple of text inputs, one for Trail name, one for Name, one forEmail, one for the rider's web site, if they want to promote that.

Then we have a text area down here where they can submit the actual review.Now, there's going to be more to this form eventually.We're going to add some additional elements to it, but for right now, I want tofocus on these input types.So our trailName is a text input and that sort of makes sense.Our name, first name last name, is a text input.That kind of makes sense.Having something to write their email in, that's a text input. That kind of makes sense.But in HTML5, we have new input types for our form elements.Let's take a look at a couple of those options.So I'm going to find the input for email.

So it's got a name of email and an ID of email.I'm going to go ahead and highlight the text value and I'm just going to type in email.You got it. It's that simple.So what that does is it converts the input type from just a normal text field toone that is expecting the input of an email address.Now, there are a couple of different things that are going to happen as a result of this.Most browsers and devices would just go ahead and treat this as a normal text field.So if they don't support the email type, no harm, no foul.They'll just treat it like a normal text type.However, if they do support the email text type, it's going to make formvalidation easier.

In the case of several devices, it's actually going to change the options for user input.Now, let's do the same thing down here for our web site.Again, its type is text, but I'm going to go ahead and highlight that and I'mgoing to show you something about the code hinting here too.It's going to allow me to go over some of these.I'm just going to open up a quotation mark, so I can see some of the types thatare available to us now.Most of these you've probably noticed before, but things like date,datetime, that's new.There is email, we just used that.If I scroll down a little bit, I can see file.There's month, number, so some of these we're going to get into in just a little bit.

Here's telephone, time, and this is the one we're looking for, URL.You can also see week.That's a new one as well.So there's a lot of new ones in here in HTML5.I'm going to say URL and again what this is going to do for us is it's going tochange the type of information that this text input field is expecting.It's going to be expecting a full URL.So again, different browser agents can choose how they react to that.It might change how the forms get auto filled.It might change how the interface's input options are laid out and it couldcertainly help with form validation and we're going to see that in just a little bit.

So I'm going to go ahead and save this file and I'm going to preview this page.I'm going to go ahead and open up this page in Opera.Okay, so here's our page opened in Opera.I'm going to scroll down to see our form.You can see right off the bat, there's something a little different going on here.The email form has a dotted line all the way around it.You may or may not see that.The reason that I see this is because I have my preferences in Opera set to autofill out certain forms and one of the things that I have set in my AutofillPreferences is my Email address.

So it automatically sort of highlights this and says, "Look, if you choose to autofill out this form, this is one of the fields that will be filled in."Now if I just tab through my form here, I don't really noticeanything different.What's really odd about this is in previous versions of Opera, if I clicked anEmail, I would literally have a link to my email contacts here and if I clickedin Website, I would have a link to all the bookmarks within the Opera browser.If you're using an older version of Opera, you might actually be seeing that, instead ofwhat we're seeing here which is just the appearance of a normal form element.Now on the other hand, if we view this on a device and I'm just going to switchover here to an iPhone.

I'm going to pull up the same form.You'll notice here if I click inside one of the top two form elements,a keyboard comes up and allows me to type in my response. Now nothing new there.But if I go down and click inside the Email, notice the change in thekeyboard that comes up.We now have the @ symbol, okay.So now if I scroll down and click inside the Website form element, there you go.You can see that the keyboard that comes up for that now has the .com.So the iPhone is sensitive to these different types of form elements.They're going to give the user a different way to interact with those formelements based on the type.

So, with some very minor changes to our code, we've added an additionalfunctionality to our forms.Now currently, only some mobile devices like the iPhone and only certainbrowsers like Opera support any additional functionality for these formelements, but changing the type causes no issues in older browsers, which treatthem just like normal text inputs and for that reason, I really don't see anyreason not to start using these form elements right away.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.

Already a member ?

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships.
Learn more

Upgrade to our Annual Premium Membership today and get even more value from your lynda.com subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

Thanks for signing up.

We’ll send you a confirmation email shortly.

Sign up and receive emails about lynda.com and our online training library:

new course releases

newsletter

general communications

special notices

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

new course releases

newsletter

general communications

special notices

Here’s our privacy policy with more details about how we handle your information.