Как объединить два объекта FormData javascript
мне нужно объединить два объекта 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()
объединить форму, которая не имеет входного файла. Есть идеи, как это сделать?
3 ответов
нельзя. 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]);
}