目前创建FormData
对象时,选中的复选框中加入的“上”的值,并且未选中的复选框完全不通过。FORMDATA和复选框
难道我有一些隐藏的输入正确设置复选框砍,或者是有一些定制我可以FORMDATA,或预先处理呢?
我宁愿一个选中的复选框为1和一个未经检查的为0。我已经可以做到这一点我自己(即丑陋的黑客攻击),但我看不出有任何FORMDATA本机方法。
目前创建FormData
对象时,选中的复选框中加入的“上”的值,并且未选中的复选框完全不通过。FORMDATA和复选框
难道我有一些隐藏的输入正确设置复选框砍,或者是有一些定制我可以FORMDATA,或预先处理呢?
我宁愿一个选中的复选框为1和一个未经检查的为0。我已经可以做到这一点我自己(即丑陋的黑客攻击),但我看不出有任何FORMDATA本机方法。
当前创建FormData对象时,选中的复选框添加值为“on”,未选中的复选框完全不会被传递。
on
如果该复选框是缺少value
属性
做的仅仅是使用我有一些隐藏的输入破解正确设置复选框
号这是正确处理复选框。这是他们如何在窗体中工作,因为表单元素已被添加到HTML中。
试验在处理它的代码的存在或不存在的复选框的。
好处理它是'变种FD =新FORMDATA(myForm的)代码;' – BarryBones41
我的意思是处理服务器端代码HTTP请求您使用的XMLHttpRequest和'fd'可能创造。 – Quentin
这是一个嵌入式系统,我不能改变服务器代码。我只会使用隐藏的输入。 – BarryBones41
试试这个:
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);
}
});
您可以随时拨打的'FormData'手动对象'set'。否则,它的行为与HTML表单完全相同。 –
而不是添加隐藏的输入,在服务器上进行处理。如果复选框值为'on',则转换为1,如果复选框值为空白或null转换为0.复选框值是由浏览器驱动的,因此您无法更改它。您可以添加额外的属性。 – Jigneshk