这是我用Firebug在Firefox中找到的。

Values of disabled inputs will not be submitted

在其他浏览器中也一样吗?

如果有,原因是什么?


当前回答

<input type="text" disabled /> 

使用readonly代替这个禁用

<input type="text" readonly />

其他回答

有两个属性,即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属性。jQuery 1.6中引入的道具。

禁用的输入将无法提交数据。

使用readonly属性:

<input type="text" readonly />

源在这里

选择控件仍然是可点击的,即使在只读attrib

如果你仍然想禁用控件,但你想发布它的值。 您可以考虑创建一个隐藏字段。具有与控件相同的值。

然后创建一个jquery,选择更改

$('#your_select_id').change(function () {
    $('#your_hidden_selectid').val($('#your_select_id').val());
});

禁用的控件不能成功,成功的控件“有效”提交。 这就是禁用控件不能与表单一起提交的原因。

它们不会被提交,因为W3C规范是这么说的。

17.13.2成功控制 一个成功的控件是“有效的”提交。(剪) 被禁用的控件无法成功执行。

换句话说,规范说禁用的控件被认为是无效的。