我有下一个复选框:
<input type="checkbox" value="true" name="permanentEmployee" checked="" id="permanentEmployee" disabled="">
我已将属性disabled
设置为true并提交了表单
$("#permanentEmployee").prop('disabled', true);`
在服务器端,如果我这样做:
request.getParameter("permanentEmployee")
我得到的值为 Null ,但如果我没有禁用复选框,我会得到正确的值(即 True )。为什么即使选中了 True ,我也没有将禁用的复选框值设为
。答案 0 :(得分:1)
禁用表单元素不会通过表单提交发送。 您可以考虑使用只读
一个想法是
$('#permanentEmployee').click(function(){
return false; // even if the user clicks on it it will not change
});
$('#permanentEmployee').prop('checked', true);
答案 1 :(得分:1)
在提交表单(onsubmit listener)之前,您可以启用复选框。
答案 2 :(得分:0)
禁用的复选框(可能还有其他表单元素)不会发送到服务器。
这里有几个解决方案:How to ensure a <select> form field is submitted when it is disabled?