这是我在Firefox中由Firebug发现的。
其他浏览器也一样吗?
如果是这样,这是什么原因?
这是我在Firefox中由Firebug发现的。
其他浏览器也一样吗?
如果是这样,这是什么原因?
Answers:
是的,所有浏览器都不应该提交禁用的输入,因为它们是只读的。
更多信息(第17.12.1节)
属性定义
禁用[CI]为表单控件设置时,此布尔属性禁用该控件以供用户输入。设置后,禁用属性对元素具有以下影响:
- 禁用的控件不会获得焦点。
- 在选项卡导航中会跳过禁用的控件。
- 禁用的控件无法成功。
以下元素支持禁用的属性:BUTTON,INPUT,OPTGROUP,OPTION,SELECT和TEXTAREA。
该属性是继承的,但是本地声明会覆盖继承的值。
禁用元素的呈现方式取决于用户代理。例如,某些用户代理“禁用”了禁用的菜单项,按钮标签等。
在此示例中,INPUT元素被禁用。因此,它无法接收用户输入,也不会与表单一起提交其值。
<INPUT disabled name="fred" value="stone">
注意。动态修改Disabled属性值的唯一方法是通过脚本。
<input type="hidden">
与禁用的输入具有相同名称/值的元素。
有两个属性,即readonly
和disabled
,可以进行半只读输入。但是它们之间有微小的区别。
<input type="text" readonly />
<input type="text" disabled />
readonly
属性使您的输入文本被禁用,并且用户无法再对其进行更改。disabled
属性不仅会使您的输入文本被禁用(不可更改),而且也无法提交它。jQuery方法(1):
$("#inputID").prop("readonly", true);
$("#inputID").prop("disabled", true);
jQuery方法(2):
$("#inputID").attr("readonly","readonly");
$("#inputID").attr("disabled", "disabled");
JavaScript方法:
document.getElementById("inputID").readOnly = true;
document.getElementById("inputID").disabled = true;
PS disabled
和readonly
是标准的html属性。prop
引入jQuery 1.6
。