2010-03-08 2 views
2

Я использую этот плагин http://www.fyneworks.com/jquery/multiple-file-upload/ для создания системы почтового подключения, но он не выполняется на IE7.JQuery: плагин MultiFile с ошибкой на IE7

Вот мой код:

$(".attachFile").live("click",function(){ 
    var id ="#"+$(this).parent().parent().attr("id"); 
    $(id + ' #attach').MultiFile({ 
     onFileAppend: function(element, value, master_element){ 
     $("#"+id + ' .attach-list').append('<li>onFileAppend - '+value+'</li>') 
     var options = { 
      url:  '/setAttach',   // override for form's 'action' attribute 
      type:  'POST'  // 'get' or 'post', override for form's 'method' attribute 
     }; 

     // bind to the form's submit event 
     $("#"+id + ' #uploadForm').submit(function() { 

      $(this).ajaxSubmit(options); 

      return false; 
     }); 
    }, 
    afterFileAppend: function(element, value, master_element){ 
    $("#"+id + ' #uploadForm').submit(); 
    } 
}); 
}); 

Это событие вызывается, когда пользователь нажимает парить ссылку присоединять файлы. Любые подсказки за то, что я делаю неправильно?

Благодаря

+0

У вас есть несколько идентификаторов id = "attach" и 'id =" uploadForm "'? –

+0

Привет, Nick, да, #attach это мой входной файл, и uploadForm это моя форма – cmedeiros

ответ

0

cmedeiros, я разработчик плагина в вопросе. Что вы ожидаете? И что вы видите вместо этого?

Я знаю, что вы сказали, что это не выполнено, но в какой момент?

+0

Привет, Диего, Он не привязал плагин к моему элементу, я загружаю MultFile в то время, когда я создаю свой ввод в DOM, но он didn 'привяжите его к моей элементу. Он отлично работает на IE8, но не в IE7. Кроме того, я тестировал ваши примеры в IE7, и все работало нормально. Я думаю, что это что-то в моем приложении, что он не позволяет подключать MultiFile через метод jquery .live(). Спасибо за Ваше внимание. – cmedeiros

+0

В вашем коде вы говорите ... $ (id + '#attach'). MultiFile ({ Можете ли вы проверить, что в этой точке существует $ (id + '#attach')? – Digs

0

Я нашел решение, сначала нужно создать элемент в DOM, а затем связать Многофайловое к нему, и в конце добавить его на экран:

var e = $("<div id=\""+id+"\" class=\"inner-center compose hidden\">"+$("#form").html()+"</div>"); 

$('#attach',e).MultiFile({ ... ACTIONS ... }); 

$(".middle-center").append(e); 

работал очень хорошо.

1

Я думаю, что это из-за ошибки в JQuery 1.7: http://bugs.jquery.com/ticket/10570

Плагин Многофайловое используется: $ ("входной [тип = файл] .multi") Многофайловое();.

Таким образом, вызывают отказ в доступе в IE7.

Возможным решением будет обновление jQuery до 1,8.

Смежные вопросы