结合的jquery-多文件到一个动态加载的形式(Binding jquery-multifile t

2019-10-17 13:45发布

我使用jQuery插件多文件这里找到:

http://www.fyneworks.com/jquery/multiple-file-upload/

我用它在过去,也没有问题,但现在我想在一个动态加载的形式使用它,它导致一个奇怪的问题。

加载表格按这篇文章的时候,我正确结合的功能,所以请理解这是不同的,尽管相关,问题一张贴在这里:

不能输入事件从动态加载的形式绑定到jQuery的多文件

$('#reportWindow').on('click', '#continueReport', function () {
    var data = $('.reportForm').serializeObject();
    $('<div/>').load('/Forms/report.aspx', data, function () {
        doReportForm(this);
    });
});

一个ASPX文件被加载到div使用jquery load按以上所述, doReportForm功能是在各种结合方法,以动态地生成HTML作为每调用:

function doReportForm(ele) { 
    $(ele).makeModal('', 800);
    FB.XFBML.parse();
    checkLogin();
    clearNetIds($('#reportForm2'));

    $("#datePicker").datepicker({
        changeMonth: true,
        changeYear: true
    });

    $('[class*="toolTip"]').setupTip();
    $(".multi").MultiFile(); // input[type=file]

    $('#right').on('click', '#savePost', function () {
        var data = $('.reportForm2').serializeObject();
    });
};

第一行有, $(ele).makeModal('', 800); 是一个简单的jQuery的扩展我提出来创建模态窗口,因此它,因为它在元素被添加到DOM这一点上,然后几行向下我结合MultiFile插件从而$(".multi").MultiFile();

第一次这样做了,它工作正常。 但是,当用户关闭模式窗口,然后尝试加载的形式,我再次得到一个错误。

Uncaught TypeError: Cannot call method 'apply' of undefined

(关闭模式窗口从与DOM完全删除它jQuery.remove()所以任何未来的Windows从新鲜完全写入)。

有点摆弄之后,看来这是由于jQuery的不能够访问MultiFile脚本...我

MultiFile加载脚本在父文件的头部,所以应该在任何时候都可用。

文章来源: Binding jquery-multifile to a dynamically loaded form