目前,在创建FormData
对象时,会在"上添加一个复选复选框,其值为"并且根本不会传递未选中的复选框。
我是否必须破解一些隐藏的输入才能正确设置复选框,或者我是否可以使用FormData或预处理进行自定义?
我希望选中复选框为1,取消选中为0.我已经可以自己做了(即丑陋的黑客),但我没有看到FormData的任何原生方式。
答案 0 :(得分:3)
目前,在创建FormData对象时,会在"上添加一个复选复选框,其值为"并且根本不会传递未选中的复选框。
on
仅在复选框缺少value
属性
我是否必须破解一些隐藏的输入才能正确设置复选框
没有。那个 正确处理复选框。由于表单元素已添加到HTML中,因此它们在表单中的工作方式。
测试处理它的代码中是否存在复选框。
答案 1 :(得分:1)
试试这个:
var checkbox = $("#myForm").find("input[type=checkbox]");
$.each(checkbox, function(key, val){
if(this.is(":checked")){
formData.append($(val).attr('name'), true);
}else{
formData.append($(val).attr('name'), false);
}
});