Мне нужен интерфейс для загрузки нескольких файлов в 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