首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC3 -@readonly=“只读”不能在IE8下的textareafor上通过。在其他浏览器中工作正常

问MVC3 -@readonly=“只读”不能在IE8下的textareafor上通过。在其他浏览器中工作正常
EN

Stack Overflow用户
提问于 2012-12-19 07:28:20
回答 1查看 1.4K关注 0票数 2

所以我使用MVC3生成了一个文本区域元素。我使用以下标记生成我的元素:

代码语言:javascript
复制
<%=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下生成时,我看到:

代码语言:javascript
复制
<textarea class="readonlyDescription" cols="30" id="Description" name="Description" placeholder="No description provided" readonly="readonly" rows="1" value=""></textarea>

在IE9下生成时,我看到:

代码语言:javascript
复制
<textarea name="Description" class="readonlyDescription" id="Description" rows="1" cols="30" readOnly="readonly" value="" placeholder="No description provided">

在IE8下生成时,我看到:

代码语言:javascript
复制
<textarea name="Description" class="readonlyDescription placeholder" id="Description" rows="1" cols="30" readOnly="" value="" placeholder="No description provided" jQuery172027049094255782585="250">

请注意,我的readonly属性丢失了。它跑到哪里去了?

我也尝试过使用@readonly = "true“,但没有看到任何不同的效果。

编辑:我怀疑它正在出现,但IE8只是将“readonly”的存在视为足以启用它。然后,它以不同于IE9的方式处理只读。因此,我使用了disabled而不是readonly,并增加了使背景透明的CSS (为了看起来只读而不是禁用)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-19 21:13:15

readonly只有一个值,那就是readonly,因此readonly属性的存在足以将其呈现为readonly是有效的。

对于禁用的情况也是如此,只要存在属性就足够了

在JS中,要启用或使控件可编辑,只需删除这些属性,而不是将它们设置为true或false。

W3Schools has some to say on it

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13943210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档