Showing posts with label web. Show all posts
Showing posts with label web. Show all posts

Sunday, 29 January 2012

HTML5 Form Attributes

This chapter covers some of the new attributes for <form> and <input>.
New form attributes:
  • autocomplete
  • novalidate
New input attributes:
  • autocomplete
  • autofocus
  • form
  • form overrides (formaction, formenctype, formmethod, formnovalidate, formtarget)
  • height and width
  • list
  • min, max and step
  • multiple
  • pattern (regexp)
  • placeholder
  • required

Browser Support

Attribute IE Firefox Opera Chrome Safari
autocomplete 8.0 3.5 9.5 3.0 4.0
autofocus No 4.0 10.0 3.0 4.0
form No 4.0 9.5 10.0 No
form overrides No 4.0 10.5 10.0 No
height and width 8.0 3.5  9.5 3.0 4.0
list No 4.0 9.5 No No
min, max and step No No 9.5 3.0 No
multiple No 3.5 11.0 3.0 4.0
novalidate No 4.0 11.0 10.0 No
pattern No 4.0 9.5 3.0 No
placeholder No 4.0 11.0 3.0 3.0
required No 4.0 9.5 3.0 No


autocomplete Attribute

The autocomplete attribute specifies that the form or input field should have an autocomplete function.
Note: The autocomplete attribute works with <form>, and the following <input> types: text, search, url, telephone, email, password, datepickers, range, and color.
When the user starts to type in an autocomplete field, the browser should display options to fill in the field:

Example

<form action="demo_form.asp" method="get" autocomplete="on">
First name: <input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
E-mail: <input type="email" name="email" autocomplete="off" /><br />
<input type="submit" />
</form>

Try it yourself »
Note: In some browsers you may need to activate the autocomplete function for this to work.

autofocus Attribute

The autofocus attribute specifies that a field should automatically get focus when a page is loaded.
Note: The autofocus attribute works with all <input> types.

Example

User name: <input type="text" name="user_name"  autofocus="autofocus" />

Try it yourself »


form Attribute

The form attribute specifies one or more forms the input field belongs to.
Note: The form attribute works with all <input> types.
The form attribute must refer to the id of the form it belongs to:

Example

<form action="demo_form.asp" method="get" id="user_form">
First name:<input type="text" name="fname" />
<input type="submit" />
</form>
Last name: <input type="text" name="lname" form="user_form" />

Try it yourself »
Note: To refer to more than one form, use a space-separated list.  


Form Override Attributes

The form override attributes allow you to override some of the attributes set for the form element.
The form override attributes are:
  • formaction - Overrides the form action attribute
  • formenctype - Overrides the form enctype attribute
  • formmethod - Overrides the form method attribute
  • formnovalidate - Overrides the form novalidate attribute
  • formtarget - Overrides the form target attribute
Note: The form override attributes works with the following <input> types: submit and image.

Example

<form action="demo_form.asp" method="get" id="user_form">
E-mail: <input type="email" name="userid" /><br />
<input type="submit" value="Submit" />
<br />
<input type="submit" formaction="demo_admin.asp" value="Submit as admin" />
<br />
<input type="submit" formnovalidate="true"
value="Submit without validation" />
<br />
</form>

Try it yourself »
Note: These attributes are helpful for creating different submit buttons.

height and width Attributes

The height and width attributes specifies the height and width of the image used for the input type image.
Note: The height and width attributes only works with <input> type: image.

Example

<input type="image" src="img_submit.gif" width="24" height="24" />

Try it yourself »


list Attribute

The list attribute specifies a datalist for an input field. A datalist is a list of options for an input field.
Note: The list attribute works with the following <input> types: text, search, url, telephone, email, date pickers, number, range, and color.

Example

Webpage: <input type="url" list="url_list" name="link" />
<datalist id="url_list">
<option label="W3Schools" value="http://www.w3schools.com" />
<option label="Google" value="http://www.google.com" />
<option label="Microsoft" value="http://www.microsoft.com" />
</datalist>

Try it yourself »


min, max and step Attributes

The min, max and step attributes are used to specify restrictions for input types containing numbers or dates.
The max attribute specifies the maximum value allowed for the input field.
The min attribute specifies the minimum value allowed for the input field.
The step attribute specifies the legal number intervals for the input field (if step="3", legal numbers could be -3,0,3,6, etc).
Note: The min, max, and step attributes works with the following <input> types: date pickers, number, and range.
The example below shows a numeric field that accepts values between 0 and 10, with a step of 3 (legal numbers are 0, 3, 6 and 9):

Example

Points: <input type="number" name="points" min="0" max="10" step="3" />

Try it yourself »


multiple Attribute

The multiple attribute specifies that multiple values can be selected for an input field.
Note: The multiple attribute works with the following <input> types: email, and file.

Example

Select images: <input type="file" name="img" multiple="multiple" />

Try it yourself »


novalidate Attribute

The novalidate attribute specifies that the form or input field should not be validated when submitted.
If this attribute is present the form will not validate form input.
Note: The novalidate attribute works with: <form> and the following <input> types: text, search, url, telephone, email, password, date pickers, range, and color.

Example

<form action="demo_form.asp" novalidate="novalidate">
E-mail: <input type="email" name="user_email" />
<input type="submit" />
</form>

Try it yourself »


pattern Attribute

The pattern attribute specifies a pattern used to validate an input field.
The pattern is a regular expression. You can read about this in our JavaScript tutorial.
Note: The pattern attribute works with the following <input> types: text, search, url, telephone, email, and password
The example below shows a text field that can only contain three letters (no numbers or special characters):

Example

Country code: <input type="text" name="country_code"
pattern="[A-z]{3}" title="Three letter country code" />

Try it yourself »


placeholder Attribute

The placeholder attribute provides a hint that describes the expected value of an input field.
Note: The placeholder attribute works with the following <input> types: text, search, url, telephone, email, and password
The hint is displayed in the input field when it is empty, and disappears when the field gets focus:

Example

<input type="search" name="user_search"  placeholder="Search W3Schools" />

Try it yourself »


required Attribute

The required attribute specifies that an input field must be filled out before submitting.
Note: The required attribute works with the following <input> types: text, search, url, telephone, email, password, date pickers, number, checkbox, radio, and file.

Example

Name: <input type="text" name="usr_name" required="required" />

Try it yourself »

HTML5 Form Elements

HTML5 New Form Elements

HTML5 has several new elements and attributes for forms.
This chapter covers the new form elements:
  • <datalist>
  • <keygen>
  • <output>

Browser Support

Tag IE Firefox Opera Chrome Safari
<datalist> No 4.0 9.5 No No
<keygen> No 4.0 10.5 3.0 No
<output> No 4.0 9.5 10.0 5.1


<datalist> Element

The <datalist> element specifies a list of options for an input field.
The list is created with <option> elements inside the <datalist>.
To bind a <datalist> to an input field, let the list attribute of the input field refer to the id of the datalist:

Example

Webpage: <input type="url" list="url_list" name="link" />
<datalist id="url_list">
<option label="W3Schools" value="http://www.w3schools.com" />
<option label="Google" value="http://www.google.com" />
<option label="Microsoft" value="http://www.microsoft.com" />
</datalist>

Try it yourself »
Tip: The <option> elements should always have a value attribute.

<keygen> Element

The purpose of the <keygen> element is to provide a secure way to authenticate users.
The <keygen> element is a key-pair generator. When a form is submitted, two keys are generated, one private and one public.
The private key is stored on the client, and the public key is sent to the server. The public key could be used to generate a client certificate to authenticate the user in the future.
Currently, the browser support for this element is not good enough to be a useful security standard.

Example

<form action="demo_form.asp" method="get">
Username: <input type="text" name="usr_name" />
Encryption: <keygen name="security" />
<input type="submit" />
</form>

Try it yourself »


<output> Element

The <output> element is used for different types of output, like calculations or script output:

Example

<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
<input type="range" name="a" value="50" />100
+<input type="number" name="b" value="50" />
=<output name="x" for="a b"></output>
</form>

Try it yourself »


HTML5 New Form Elements

Tag Description
<datalist> Defines a list of options for an input field
<keygen> Defines a key-pair generator field
<output> Represents the result of a calculation

HTML5 Input Types

HTML5 has several new input types for forms. These new features allow better input control and validation.
This chapter covers the new input types:
  • color
  • date
  • datetime
  • datetime-local
  • email
  • month
  • number
  • range
  • search
  • tel
  • time
  • url
  • week
Note: Not all major browsers support all the new input types. However, you can already start using them; If they are not supported, they will behave as regular text fields.

Input Type: color

The color type is used for input fields that should contain a color.
Opera Safari Chrome Firefox Internet Explorer

Example

Select a color from a color picker:
Select your favorite color: <input type="color" name="favcolor" />

Try it yourself »


Input Type: date

The date type allows the user to select a date.
Opera Safari Chrome Firefox Internet Explorer

Example

Define a date control:
Birthday: <input type="date" name="bday" />

Try it yourself »


Input Type: datetime

The datetime type allows the user to select a date and time (with time zone).
Opera Safari Chrome Firefox Internet Explorer

Example

Define a date and time control (with time zone):
Birthday (date and time): <input type="datetime" name="bdaytime" />

Try it yourself »


Input Type: datetime-local

The datetime-local type allows the user to select a date and time (no time zone).
Opera Safari Chrome Firefox Internet Explorer

Example

Define a date and time control (no time zone):
Birthday (date and time): <input type="datetime-local" name="bdaytime" />

Try it yourself »


Input Type: email

The email type is used for input fields that should contain an e-mail address.
Opera Safari Chrome Firefox Internet Explorer

Example

Define a field for an e-mail address (will be automatically validated when submitted):
E-mail: <input type="email" name="usremail" />

Try it yourself »
Tip: Safari on iPhone recognizes the email type, and changes the on-screen keyboard to match it (adds @ and .com options).

Input Type: month

The month type allows the user to select a month and year.
Opera Safari Chrome Firefox Internet Explorer

Example

Define a month and year control (no time zone):
Birthday (month and year): <input type="month" name="bdaymonth" />

Try it yourself »


Input Type: number

The number type is used for input fields that should contain a numeric value.
You can also set restrictions on what numbers are accepted:
Opera Safari Chrome Firefox Internet Explorer

Example

Define a numeric field (with restrictions):
Quantity (between 1 and 5): <input type="number" name="quantity" min="1" max="5" />

Try it yourself »
Use the following attributes to specify restrictions:
  • max - specifies the maximum value allowed
  • min - specifies the minimum value allowed
  • step - specifies the legal number intervals
  • value - Specifies the default value
Try an example with all the restriction attributes: Try it yourself

Input Type: range

The range type is used for input fields that should contain a value from a range of numbers.
You can also set restrictions on what numbers are accepted.
Opera Safari Chrome Firefox Internet Explorer

Example

Define a control for entering a number whose exact value is not important (like a slider control):
<input type="range" name="points" min="1" max="10" />

Try it yourself »
Use the following attributes to specify restrictions:
  • max - specifies the maximum value allowed
  • min - specifies the minimum value allowed
  • step - specifies the legal number intervals
  • value - Specifies the default value

Input Type: search

The search type is used for search fields (a search field behaves like a regular text field).
Opera Safari Chrome Firefox Internet Explorer

Example

Define a search field (like a site search, or Google search):
Search Google: <input type="search" name="googlesearch" />

Try it yourself »


Input Type: tel

Opera Safari Chrome Firefox Internet Explorer

Example

Define a field for entering a telephone number:
Telephone: <input type="tel" name="usrtel" />

Try it yourself »


Input Type: time

The time type allows the user to select a time.
Opera Safari Chrome Firefox Internet Explorer

Example

Define a control for entering a time (no time zone):
Select a time: <input type="time" name="usr_time" />

Try it yourself »


Input Type: url

The url type is used for input fields that should contain a URL address.
The value of the url field is automatically validated when the form is submitted.
Opera Safari Chrome Firefox Internet Explorer

Example

Define a field for entering a URL:
Add your homepage: <input type="url" name="homepage" />

Try it yourself »
Tip: Safari on iPhone recognizes the url input type, and changes the on-screen keyboard to match it (adds .com option).

Input Type: week

The week type allows the user to select a week and year.
Opera Safari Chrome Firefox Internet Explorer

Example

Define a week and year control (no time zone):
Select a week: <input type="week" name="week_year" />

Try it yourself »


HTML5 <input> Tag

Tag Description
<input> Defines an input field