« オンラインカード案 ルール概要 | メイン | コメントスパムにやられる »

2006年11月19日

暗示的なラベル付けをIEに認識させる [DOM]

<label>
  <input type="radio" />FireFox
</label>

というフォーム要素に対する暗示的なラベル付けをIEは正しく認識できませんが(Gekkoは平気です)、このスクリプトを噛ませることにより自動的なID割付を行い、明示的ラベルとして認識させます。

動作サンプル

PHPのSmartyで {html_checkboxes} を使うと暗示的なラベル付けしか出来ないので作ってみました。 暗示的のほうが明示的よりスマートだと思う人もどうぞ。

例によってDOMですので、HTML内にスクリプトを埋め込んだり特殊処理をする必要はありません。 単に head内で この ラベル付けスクリプトを呼び出すだけです。

IEでしか動作しません(たぶん)。IE7は暗示的ラベルがどう扱われているか知らないので、未検証です。 Moz系は元々暗示的ラベルに対応しているので関係ありません。 あと、とりあえずinput要素にしか付けません。必要性をあまり感じなかったので。 他のフォームコントロールにつけようと思う場合も簡単ですので、適当に改造してみてください。

久しぶりの更新ですが、水面下で色々開発中。

投稿者 : 19:12 | コメント (0)

コメント

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)