Привязка 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
Скрипт загружается в заголовок родительского документа, поэтому должен быть доступен всегда.