« オンラインカード案 ルール概要 | メイン | コメントスパムにやられる »
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要素にしか付けません。必要性をあまり感じなかったので。 他のフォームコントロールにつけようと思う場合も簡単ですので、適当に改造してみてください。
久しぶりの更新ですが、水面下で色々開発中。