如何合并两个JavaScript FormData对象
作者:互联网
我需要组合两个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);
标签:javascript,jquery,jquery-ui,jquery-ui-dialog 来源: https://codeday.me/bug/20191010/1887643.html