TUTORIELS 
Etendre une zone de texte en l'activant
Une astuce simple à mettre en place pour optimiser l'espace utilisé par les formulaires.  (20 novembre 2003)
 
Nombreux sont les sites qui doivent travailler avec des formulaires parfois de plusieurs "pages" de "hauteur", en donnant accès à des zones de texte (<textarea>) suffisamment grandes pour que le visiteur puisse entrer son texte sans souffrir de claustrophobie.
En effet, pour le créateur de la page, le choix est limité lorsqu'il s'agit d'implémenter de longs formulaires. Laisser moins de place aux champs les moins importants ? Mettre tous les champs à la même taille mais obliger le visiteur à se servir de l'ascenseur ? Couper le formulaire en plusieurs page ?

Cette petite astuce, si elle ne résout pas tous les problèmes, devrait néanmoins aider à en résorber l'impact sur la mise en page du formulaire : le champ n'est mis à la taille que quand c'est nécessaire, c'est à dire quand le visiteur clique dessus. Une fois le formulaire rempli, le visiteur passe à un autre, et le champ reprend sa petite taille.

Discutez en sur les forums

Toute l'astuce tient dans l'utilisation des évènements onfocus() et onblur(), qui chargent de modifier dynamiquement le nombre de lignes et le nombre de caractères du champ...

Le code
<textarea row="2" cols="20" onfocus="rows=5,cols=50" onblur="rows=2,cols=20">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam elit erat, fringilla sed, volutpat non, eleifend nec, odio. Donec sed libero. Aenean congue purus eget sapien.
</textarea>


 
[ Xavier BorderieJDNet
 
Accueil | Haut de page