そのため、MVC3を使用してtextarea要素を生成しています。次のマークアップを使用して要素を生成します。
<%=Html.TextAreaFor(model=> model.Description, new { value=Model.Description, @class="readonlyDescription", placeholder = "No " + Model.DescriptionLabel.ToLower() + " provided", @readonly = "readonly", rows = 1, cols = 30}) %>
Google Chromeで生成すると、次のように表示されます。
<textarea class="readonlyDescription" cols="30" id="Description" name="Description" placeholder="No description provided" readonly="readonly" rows="1" value=""></textarea>
IE9で生成すると、次のように表示されます。
<textarea name="Description" class="readonlyDescription" id="Description" rows="1" cols="30" readOnly="readonly" value="" placeholder="No description provided">
IE8で生成すると、次のように表示されます。
<textarea name="Description" class="readonlyDescription placeholder" id="Description" rows="1" cols="30" readOnly="" value="" placeholder="No description provided" jQuery172027049094255782585="250">
読み取り専用属性がなくなっていることに注意してください。どこに行ったの?
@readonly = "true"を使用してみましたが、異なる効果は見られませんでした。
編集:私はそれが出くわしていると思うが、IE8はそれが有効になるのに十分なものとして「読み取り専用」の存在を扱っているだけです。次に、IE9とは異なる方法で読み取り専用を処理します。だから、私は背景を透明にする追加のCSSで読み取り専用の代わりに無効を使用しています(読み取り専用で無効になっていないように見えるように)