如何将禁用的元素值发送到服务器?

时间:2014-07-31 13:45:38

标签: javascript jquery html checkbox

我有下一个复选框:

<input type="checkbox" value="true" name="permanentEmployee" checked="" id="permanentEmployee" disabled="">

我已将属性disabled设置为true并提交了表单

$("#permanentEmployee").prop('disabled', true);`

在服务器端,如果我这样做:

request.getParameter("permanentEmployee")

我得到的值为 Null ,但如果我没有禁用复选框,我会得到正确的值(即 True )。为什么即使选中了 True ,我也没有将禁用的复选框值设为

3 个答案:

答案 0 :(得分:1)

禁用表单元素不会通过表单提交发送。 您可以考虑使用只读

一个想法是

$('#permanentEmployee').click(function(){
        return false; // even if the user clicks on it it will not change
});

$('#permanentEmployee').prop('checked', true);

http://jsfiddle.net/Spokey/M3LfA/1/

答案 1 :(得分:1)

在提交表单(onsubmit listener)之前,您可以启用复选框。

答案 2 :(得分:0)

禁用的复选框(可能还有其他表单元素)不会发送到服务器。

这里有几个解决方案:How to ensure a <select> form field is submitted when it is disabled?