jquery.form.js с опцией iframeTarget (отлично работает для FF, не работает в IE) - PullRequest
2 голосов
/ 15 августа 2011

Мне нужен интерфейс для загрузки нескольких файлов в DMS, где я не могу изменить страницу результатов.

У меня есть решение с jquery.form.js (без использования iframeTarget), которое отлично работает для FF, но не работает для IE: в IE я загрузил первый файл, но после этого страница перенаправляется и вторая загрузка не работает.

Я думаю, главная проблема в том, что Результирующая страница выполняет перенаправление, которое я ожидаю внутри IFrame (для FF), но на странице (для IE).

С Firebug я вижу, что результат Поста содержит такой редирект, который "игнорируется" FF и поэтому загружаются следующие файлы.

Чтобы приблизиться к проблеме, он попытался использовать опцию iframeTarget. Теперь у меня есть похожая проблема в FF: с помощью iframeTarget = "# myIFrame" у меня есть это:

в FF:

  • первый загруженный файл
  • перенаправление в IFrame "#myIFrame"
  • scirpt остановлен (следующие файлы не загружены)

в IE:

  • первый загруженный файл
  • перенаправление на всю страницу (и следующие поля не загружены)

Если я не использую опцию iframeTarget, она снова работает с FF (все файлы загружены без перенаправления).

Основная проблема: как заставить его работать в IE?

Побочный вопрос: в чем разница для FF при использовании этой опции "iframeTarget"? (Может быть, это указывает на решение для IE)

основной код:

    jQuery('#CreateFormUploadNew').submit(function() { 


    // submit the form 
    //jQuery(this).ajaxSubmit({
    //jQuery('#CreateFormUploadNew').ajaxForm({
    jQuery('#CreateFormUploadNew').ajaxSubmit({

        //iframe: false, //falls false, werden keine Files hochgeladen, true oder weglassen ....
        //clearForm: true, //nicht aktivieren, sonst fehlt der Name bei der suchen nach der ObjId
        //resetForm: true, //nicht aktivieren, sonst fehlt der Name bei der suchen nach der ObjId
        //dataType: 'script',
        iframeTarget: '#myIframe',
        beforeSubmit: function(a,f,o) {
            changeUploadValues(i)
            i++
        },
        success: function(data) {

            jQuery("#uploadFeedback").append("success started<br />");

            //...
            //some additional stuff like setting Meta Data
            //...

            if (i > 1) {
                changeUploadValues(i)
                jQuery('#CreateFormUploadNew').submit();
            }

        } //Success


    }); 
    // return false to prevent normal browser submit and page navigation 

    return false; //ajaxSubmit()
}); //submit

Thomas

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...