Привязка jquery-мультифайла к динамически загружаемой форме

Я использую плагин JQuery Multifile, найденный здесь:

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(), так что любые будущие окна пишутся полностью из свежих).

Похоже, что после небольшой возни, это связано с тем, что jQuery не может получить доступ к MultiFile сценарий... я думаю

MultiFile Скрипт загружается в заголовок родительского документа, поэтому должен быть доступен всегда.

0 ответов

Другие вопросы по тегам