HTML5 introduces two new attributes of the form element:
Browsers have different ways of choosing data to use for autocomplete. For example, Chrome does it based on previous form entries, while Opera uses its built-in contact list. Users can manage autocomplete in their browser's settings. When autocomplete is on, you see something like the behavior shown below in Firefox 4: When autocomplete is off, that behavior is blocked.
You can set autocomplete on the form and/or on individual fields - setting, for instance, the form to have autocomplete="on" but a specific field to have autocomplete="off".
The purpose of the novalidate attribute is to allow users to submit their forms even if the form data is invalid. For example, perhaps they're filling out an online application and you want to allow them to save the current state of their application even though some fields might not be valid.
Take a look at the following code.
<!DOCTYPE HTML> ---- C O D E O M I T T E D ---- <form method="post" action="" autocomplete="on"> <!--novalidate attribute not included--> <label for="fullname">Name: </label> <input type="text" name="fullname" id="fullname" required> <label for="email">Email: </label> <input type="email" name="email" id="email"> <input type="submit"> </form> ---- C O D E O M I T T E D ----
The screen shot below shows this page in Opera. Notice that the
fullname field is required, but left empty, and the
novalidate attribute, the form would submit without erroring.