Des boutons sous forme de lien
Posté : 21 déc. 2006, 03:57
Aujourd'hui je suis tombé sur cette page via shiflett.org via le RSS de Planet PHP et je dois dire que je n'y avais jamais pensé.
Créer des liens qui font des requêtes POST sans Javascript je trouve ça plutôt cool du point de vue de la sécurité. J'avais déjà réfléchi à différents moyens de faire ça, mais j'avais totalement occulté la possibilité d'un <button> stylé comme un lien texte. Je révais d'un attribut "method" à ajouter aux ancres existantes sous la forme
En y réfléchissant c'est possible avec un peu de XSLT (mon grand espoir du futur). Diable, c'est même probablement possible en XHTML et un peu de javascript, de façon tout à fait transparente. Il suffirait probablement de faire un document.getElementsByTagName('a') au chargement du document et remplacer les nœuds en questions par un form/button. Seul bémol, sans javascript les liens restent des liens "GET".
Enfin, tout ça pour dire que les liens POST sans onclick() sont à notre portée, il faut juste faire un tout petit effort. Maintenant, est-ce que quelqu'un pourrait se joindre à moi et prier très forts pour que les navigateurs implémentent HTTP/1.1 correctement un de ces jours ? [ 1 ] [ 2 ] (le bug tracker d'Opera n'est pas public, et j'ai pas trouvé celui d'IE
)
Créer des liens qui font des requêtes POST sans Javascript je trouve ça plutôt cool du point de vue de la sécurité. J'avais déjà réfléchi à différents moyens de faire ça, mais j'avais totalement occulté la possibilité d'un <button> stylé comme un lien texte. Je révais d'un attribut "method" à ajouter aux ancres existantes sous la forme
Code : Tout sélectionner
<a href="foo.php" method="post">TEST</a>Enfin, tout ça pour dire que les liens POST sans onclick() sont à notre portée, il faut juste faire un tout petit effort. Maintenant, est-ce que quelqu'un pourrait se joindre à moi et prier très forts pour que les navigateurs implémentent HTTP/1.1 correctement un de ces jours ? [ 1 ] [ 2 ] (le bug tracker d'Opera n'est pas public, et j'ai pas trouvé celui d'IE