De nos jours, quel site web ne contient pas un formulaire sur au moins une de ces pages? Personnellement, je crois que je ne pourrais pas en nommer. Les formulaires se retrouvent sur des millions de pages sur la toile. Une des nouveautés d’HTML5 que j’attends avec impatience est les formulaires “2.0”. Cette nouveauté va grandement simplifier la programmation de nos formulaires actuels.
Les formulaires actuels
Actuellement, il peut être laborieux de créer un formulaire pour un site web. Si nous le concevons intelligemment, nous devons avoir recours à d’autres langages comme Javascript/PHP/ASP et s’assurer d’effectuer plusieurs vérifications. Sans vérification, l’usager peut entrer n’importe quoi et le formulaire devient inutile. Par exemple, il nous faut vérifier si l’usager entre un courriel valide ou encore si l’usager n’entre pas des lettres dans le champ téléphone. Les programmeurs utilisent normalement des « regexp » pour faciliter la validation des formulaires.
Les formulaires en HTML5
Ils ne sont pas vraiment différents que dans la version actuelle d’HTML, mais ils ont quelques ajouts intéressants que je vais décrire ci-dessous.
Les nouveaux attributs intéressants de balise <input>
autocomplete : Cet attribut peut permettre l’autocomplétion sur un champ texte par exemple. L’autocomplete est devenu assez populaire avec AJAX. Nous n’avons qu’à penser au moteur de recherches de Google qui nous suggère des mots lorsque nous commençons à taper des lettres. Il peut avoir la valeur « on » ou « off ».
autofocus : Met le focus sur l’élément en question. En arrivant sur une page, le pointeur est placé sur le champ ayant l’autofocus.
multiple : Permet d’entrer plusieurs valeurs.
pattern : Attribut fort intéressant qui permettra d’entrer une expression régulière (regexp). L’expression régulière entrée servira à valider la valeur entrée dans le champ en question.
Il y en a plusieurs autres, mais ceux que je viens de décrire risquent d’être plus utilisés.
Ce qui est également fort intéressant, c’est les nouvelles valeurs que peut prendre l’attribut « type ». Cet attribut permet de spécifier quel type de champ nous utilisons dans notre formulaire (texte, bouton radio, etc).
Voici certaines valeurs intéressantes que peut prendre l’attribut type :
url : En spécifiant cette valeur, nous indiquons que nous devons entrer une adresse de site web.
tel : En spécifiant cette valeur, nous indiquons que nous devons entrer un numéro de téléphone.
email : En spécifiant cette valeur, nous indiquons que nous devons entrer un courriel.
date : Nous devons spécifier une date au format suivant : 1900-03-27
number : La valeur entrée dans le champ doit absolument être un nombre. Aucune chaîne de caractères.
Et les autres : search, month, week, time, datetime, datetime-local, range et color pour ne pas les nommer.
Comme vous le voyez, beaucoup de nouvelles choses dans les formulaires. Rien de très complexe, mais il y aura sans aucun doute beaucoup de tests à faire pour s’assurer que tout fonctionne correctement. À noter également que ces nouveautés ne sont pas encore prises en compte par Firefox. Vous pouvez par contre vous amuser sous Chrome 3 et Safari 4.
Je vous reviens la semaine prochaine avec la suite de ce billet sur les formulaires en HTML5. Vous y découvrirez entre autres des exemples mettant en pratique les nouveautés décrites plus haut.
Pour plus de détails, je vous invite fortement à regarder la spécification d’HTML5 sur les formulaires.