JavaScriptのDOMを使って要素のreadonly属性を変更しようとするときには、readOnlyと書かなければならない。 初歩的だけど忘れているとハマる。 Firefoxでは小文字のreadonlyでも操作できるが、IEだとreadOnlyである必要がある。 IEの場合はreadonly状態でもinput要素の背景色は白のままなので、クラス名を変更するなどして背景色を変えるのがいい。 // via prototype.js $("hoge").readOnly = "readonly"; Element.addClassName($("hoge"), "readonly"); disabledを使う手もあるが、disabledを使うとinput要素の値が送信されなくなる。readonlyなら送信される。時と場合によって使い分け。