HTML(XHTML)のreadonly属性とdisabled属性の違い

| コメント(0) | トラックバック(0)
今更基本的なことだが、form部品の中に、

例えば

<input type='checkbox' name='cb' value='1' checked disabled>

とすると、「checked」にしていても、送信先でvalue値が空になってしまうらしい。
(firefoxでしか試してないけど)


チェックボックスを空のまま固定するんならいいけど、チェックを入れた状態で固定したいときに保存処理を行うとチェックされてない状態と同じ状態で保存されてしまうので困る。

そしたら「readonly」というのがあったらしく、disabledの代わりにこれを使ったらよかったらしい。

<input type='checkbox' name='cb' value='1' checked readonly>

(XHTMLの場合は、readonly='readonly'とする)


だったら「disabled」なんていらねーんじゃねーか?
と思ったんだけど、頭いい人は何かしらのときに使うんだべな。


ちなみにIEじゃサポートされて無いって噂なんだが今はダイジョブなのかな?



2010/2/14追記:

readonlyにすると、テキストフォームなら入力できないが、チェックボックスの場合はチェックができてしまい、値も送信されちゃうので、そういうときは
"checked disabled"にしといて、別にhiddenフィールドでチェックボックスのvalueを送信します。

<form action='' method='post'>
(中略)
<input type='checkbox' name='aaa' value='1' checked disabled>
(中略)
<input type='hidden' name='aaa' value='1'>
</form>

トラックバック(0)

トラックバックURL: http://www.igreks.jp/blog/mt-tb.cgi/375

コメントする