BlueImp文件上传器不绑定动态输入

时间:2016-02-02 14:56:39

标签: javascript jquery

我已经坚持了这么久,我终于放弃了,决定从这里寻求帮助

我在这里研究了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');
 });

0 个答案:

没有答案