我已经坚持了这么久,我终于放弃了,决定从这里寻求帮助
我在这里研究了blueimp的多个主题,但没有一个解决方案适用于我
我试过的材料
Uploading multiple files from multiple input fields programatically - blueimp jquery fileupload
包括其中涵盖的主题,
jQuery File Upload not working when file input dynamically created
等
我的问题是我正在处理的项目使用MultiFile.js(https://github.com/fyneworks/multifile)和blueimp文件上传器
multifile.js的作用是动态地为文件创建新输入并隐藏已添加输入的那些输入。
我已经使用了好几天,但Blueimp文件上传器只接受初始输入,只上传一个文件,添加方法忽略所有其他输入字段。这是我到目前为止的代码
$(function() {
'use strict';
$(window).on('change', function(e) {
var form = $("form");
var multiPartAttribute = 'multipart/form-data';
form.attr('enctype', multiPartAttribute).attr('encoding', multiPartAttribute);
var barContainer = $('#container-upload-prg');
var bar = barContainer.find('#inner-upload-prg');
var pushButton = $("#saveMat");
form.fileupload({
dataType: 'json',
replaceFileInput: false,
autoUpload: false,
add: function(e, data) {
pushButton.off('click').on('click', function() {
barContainer.css("display", "inline-block");
data.submit();
});
},
done: function(e, data) {
barContainer.css("display", "none");
var result = data.result;
if (result.ok == true) {
$('#MaterialSuccessText').html(result.message);
$(".close").click();
} else if (result.ok == false) {
$('#MaterialErrorText').html(result.message);
}
},
progressall: function(e, data) {
var percent = parseInt(data.loaded / data.total * 100, 10);
bar.css('width', percent + '%');
bar.text(percent + '%');
},
submit: function (e, data) {
var formData = $("form").find(':hidden, :text, textarea').serializeArray();
formData.push({ name: '__EVENTTARGET', value: 'do_save_files' });
data.formData = formData;
}
});
};
}).trigger('change');
});