Général

Les PCRE

Les POSIX

Pratique

Linux

Spécial php

Les billets de fred

La guerre des boutons

Je ne suis pas du genre à dénigrer Microsoft en permanence, mais là, je viens de tomber sur un os (sans jeu de mot) qui me hérisse le poil au plus haut point. Internet Explorer ne gère pas correctement la balise "button".


En effet, en lisant les spécifications de HTML 4.01 [en], je viens de découvrir la balise " button". Celle-ci permet de remplacer allègrement la balise " input" et surtout, elle permet de faire de la mise en forme du contenu du bouton beaucoup plus poussée.

Regardez l'exemple suivant :


Comme vous pouvez le voir, il est possible de faire de la mise en forme directement dans le bouton et d'avoir plusieurs lignes.

Seulement, il y a un problème, IE ne peut pas avoir plusieurs boutons de ce type dans un même formulaire. Même s'il sait l'afficher, lorsque l'on soumet le formulaire, le contenu de tous les boutons est envoyé ce qui ne permet pas de savoir lequel a été enfoncé (voir l'article Savoir gérer un formulaire avec plusieurs boutons).


Le seul moyen de contourner cela, serait de valider le formulaire avec du javascript mais cela posera des problèmes avec les utilisateurs qui l'ont désactivé.


Pourquoi ce type de représentation n'est pratiquement jamais utilisé ? Parce qu'Internet Explorer ne le supporte pas correctement ? Je n'en sais rien, en tout cas, je trouve ça dommage de se passer d'une telle fonctionnalité.


Remarque : Normalement le type par défaut de "button" est "submit" mais IE ne l'entend pas de cette manière alors vous devez le préciser dans la balise.


ADAM Benjamin 2008 | Admin