FormData和复选框

时间:2015-11-02 21:31:21

标签: javascript

目前,在创建FormData对象时,会在"上添加一个复选复选框,其值为"并且根本不会传递未选中的复选框。

我是否必须破解一些隐藏的输入才能正确设置复选框,或者我是否可以使用FormData或预处理进行自定义?

我希望选中复选框为1,取消选中为0.我已经可以自己做了(即丑陋的黑客),但我没有看到FormData的任何原生方式。

2 个答案:

答案 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);
}
});