【发布时间】:2018-08-13 00:00:51
【问题描述】:
使用 Dropzone 将多个文件提交到使用不同 id 的多个表单 但它只提交最后一个 id
这是我们用来提交的onclick提交功能
我选择了所有行 id 2.用不同的url(forms/upload_files/'id')将它收集到ids数组中
这是 Dropzone 功能
if($('#dropzoneDragArea').length > 0){
submitDropzone = new Dropzone("#id-form", $.extend({},_dropzone_defaults(),{
autoProcessQueue: false,
parallelUploads: 100,
uploadMultiple: true,
clickable: '#dropzoneDragArea',
previewsContainer: '.dropzone-previews',
addRemoveLinks: true,
maxFiles: 2,
}));
}
这是onclick函数
function submit(event) {
var ids = [];
var rows = $('.table-rows').find('tbody tr');
$.each(rows, function() {
var checkbox = $($(this).find('td').eq(0)).find('input');
if (checkbox.prop('checked') == true) {
submitDropzone.options.url = admin_url + 'forms/upload_file/' + checkbox.val();
ids.push(submitDropzone.options.url);
}
});
submitDropzone.processQueue();
}
请问有什么建议
【问题讨论】:
-
submitDropzone.options.url是什么?您是否将autoProcessQueue设置为 false? -
这是包含文件的 Dropzone 的主要功能,它的工作没有问题,但只有 .processQueue() 只是上传最后一个表单
-
@AndrewLohr 是 autoProcessQueue 设置为 false
-
您在每次迭代中都覆盖了
options.url,因此当您处理队列时,options.url仅包含数组中的最后一个 url。现在,如果我理解正确,您要做的是使用一个 dropzone 将相同的文件或文件上传到多个 url? -
@wallek876 是的,没错,当我把 submitDropzone.processQueue();在同一次迭代中,它只提交第一个 id
标签: javascript dropzone.js dropzone