32 private links
Form fields are designed to collect information from visitors of a certain page. But despite the best efforts and explanations, getting the correct information from an average user can be difficult. Impatient or careless visitors may miss important fields, only partially fill one or several fields, or simply press the wrong keys. After filling the form this way they click "Send" button. The server program receives a set of data and if data validation is not implemented on the server side, the server program has no idea what to do with it.
A professional web page requires data validation, i.e. a method for detecting errors in the input data, or even better - a way to avoid mistakes in the first place. Over the years, web developers have been doing this using JavaScript procedures of their own design or through professional JavaScript libraries. To be honest, these approaches gave excellent results.
HTML5 Forms specifications introduce some new input types, attributes and other awesome features. One of the transversal features is native browser-side form validation.
For Firefox 4, we tried to focus on that feature and ship it as complete as possible. All following features descriptions are available with Firefox 4 beta 7 except some which are going to be available in following betas (it's clearly specified when that's the case).
Do you remember your first form? The first time you realised you could send emails through your site, thanks to a hosted service like Bravenet (remember them?!).
Or perhaps you hacked together a cgi script or even some PHP. But when that first email arrived with the subject line ‘test’ you realised that your website had now become interactive. You could now not only interact with your users, but also tailor your site based on their input.
While there are many changes for the better in the HTML5 specification, there is no better bang for the buck for the data driven website than the transformation of forms. These simple changes will transform how you enter, validate, process, and even display inputs. You will be able to create more usable web applications with less code and less confusion.