首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >的readOnly等效

的readOnly等效
EN

Stack Overflow用户
提问于 2012-08-15 19:59:42
回答 2查看 21.8K关注 0票数 9

HTML字段是否有与readOnly="true"输入等效的属性或技术?

我有一个表单选择字段,我想禁用,但仍然传递时,表单被张贴。如果这是HTML输入,我会这样做

代码语言:javascript
复制
$('select_id').setAttribute('readOnly', 'true');

浏览器会将字段呈现为不可编辑的,但它的值仍将传递给后端。对于HTML选择,我希望类似的内容,但是执行以下操作

代码语言:javascript
复制
$('#select_id').setAttribute('readOnly', 'true');

不起作用。该属性已成功地添加到DOM中,但浏览器仍然将其呈现为可选择的。

我意识到我可以做以下事情

代码语言:javascript
复制
$('#input_id').disabled();

但是,当字段被禁用时,它的值不会传递到后端。

我想要一种方法来禁用这个选择字段,但仍然传递到后端。

(示例使用原型JS,但我对任何通用解决方案都感兴趣)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-15 20:04:05

禁用除选定选项以外的所有选项:

代码语言:javascript
复制
<select>
<option disabled="disabled">1</option>
<option selected="selected">2</option>
<option disabled="disabled">3</option>
</select>

这样,下拉列表仍然工作(并提交其值),但用户无法选择其他值。

票数 22
EN

Stack Overflow用户

发布于 2012-08-15 20:10:07

添加禁用类:

代码语言:javascript
复制
.disabled{
   color: grey;
}

如果当前类使用“防止焦点默认”和“单击”,则dbl单击:

代码语言:javascript
复制
$('#el').bind('click dblclick focus').function(event){
   if ($(this).hasClass('disabled')) event.preventDefault();
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11976348

复制
相关文章

相似问题

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