u54*_*54r 10 javascript jquery jquery-ui jquery-ui-dialog
我需要组合两个FormData对象并使用XMLHttpRequest发布它们.其中一个表单包含文件输入.
var formData = new FormData(document.forms.namedItem('form-ship'));
var poData = new FormData(document.forms.namedItem('po-form'));
// Combine them
var fData = $.extend(true, formData, poData);
当我使用$.extend或者如果我serialize()用来组合没有文件输入的表单时,它不起作用.知道怎么做吗?
你不能.FormData遗憾的是不可枚举.
但是,正如您所说,只有一个表单确实包含文件输入.然后应该可以手动使用serializeArray另一个和append数据:
var formData = new FormData(document.forms['form-ship']); // with the file input
var poData = jQuery(document.forms['po-form']).serializeArray();
for (var i=0; i<poData.length; i++)
    formData.append(poData[i].name, poData[i].value);
我这样做是这样的:
let formData = new FormData($("#f_articulos")[0]);
let formDataPrecios = new FormData($("#f_listado_precios")[0]);
for (var pair of formDataPrecios.entries()) {
    formData.append(pair[0], pair[1]);
}