我需要一个接口将多个文件上传到 DMS,我无法修改结果页面。
我有一个 jquery.form.js 解决方案(不使用 iframeTarget),它适用于 FF,但不适用于 IE:在 IE 中我上传了第一个文件,但在此之后,页面被重定向,第二个上传确实不行。
我认为,主要问题是,结果页面会进行重定向,我希望在 IFrame 内(对于 FF)但在页面上(对于 IE)。
使用 Firebug,我看到 Post 的结果包含这样的重定向,FF“忽略”了它,因此上传了以下文件。
为了更接近问题,它尝试使用选项 iframeTarget。现在我在 FF 中有一个类似的问题:通过使用 iframeTarget="#myIFrame" 我有这个:
在法郎:
- 上传的第一个文件
- 在 IFrame "#myIFrame" 中重定向
- 脚本停止(以下文件未上传)
在 IE 中:
- 上传的第一个文件
- 在整个页面中重定向(并且不上传以下文件)
如果我不使用 iframeTarget 选项,它会再次与 FF 一起使用(所有上传的文件都没有任何重定向)。
主要问题:如何让它在 IE 中工作?
附带问题:使用此选项“iframeTarget”与 FF 有什么区别?(可能是,这指向了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
托马斯