一:Readonly和Disabled它们都能够做到使用户不能够更改表单域中的内容。但是它们之间有着微小的差别,总结如下:
- Readonly只针对input(text / password)和textarea有效
- disabled对于所有的表单元素都有效,但是表单元素在使用了disabled后,当我们将表单以post或get的方式提交的话,这个元素的值不会被传递出去
- readonly会将该值传递出去(readonly接受值更改可以回传,disable接受改但不回传数据)。
二:设置禁选属性的方式如下(readOnly / disabled):
- readOnly使用方法如下:
<input type="hidden" class="form-control" value="${compact1.InsuredCustomerId!''}" placeholder="" id="InsuredCustomerId12" name="compact.InsuredCustomerId" readonly>
- disabled使用方法如下:
<select id="CardType1" onChange=setIDCard() class="form-control" vmode="" vdisp="证件类型" vtype="string" disabled> <option value="">请选择</option> </select>
- 增加条件判断,当符合条件的时候,对相应的字段添加禁选属性:
$("#DutyButton").attr("disabled","disabled");
三: 对禁用属性,进行取消的操作如下:
1. 取消disabled属性的值是:
$("#DutyButton").removeAttr("disabled");
2. 取消readOnly属性的值是:
在input标签中去除readOnly的属性即可;
3.对“select”标签的“disabled”属性取消禁用的操作是:
$("select[disabled]").each(function() { if (parseInt($(this).val()) != -1) {$(this).attr("disabled", false);}});
四:解决HTML SELECT控件 disabled 后无法向后台传值的方法 ?
在点击提交时,对select标签中的disabled属性进行取消,即可将值获取到:
$("select[disabled]").each(function() { if (parseInt($(this).val()) != -1) { $ (this).attr("disabled", false);}});