2011-04-19 70 views
1

我试图实现提交文件而没有整页重新渲染的系统。为了做到这一点,我创建了一个包含输入(type = file)的表单和一个动态iframe创建/附加机制。 iFrame创建并添加后,我在iframe上设置了target表单的属性。在iframe中提交表单时出现IE奇怪的行为

在其他浏览器中,此机制完美地工作,但是IE不是将内容加载到iFrame中,而是建议我像保存文件一样保存输入数据。我的逻辑中有什么不正确的?也许这是一个动态创建iFrame的问题,或者是我的IE配置有问题?

这里是来源:

createIFrame: function(appendToSelector) { 
    var nameWthId = "uploadTarget" + (new Date().getTime()); 
    var iFrame = $("<iframe style='display:none;'></iframe>"); 
    iFrame.attr('id', nameWthId); 
    iFrame.attr('name', nameWthId); 
    iFrame.appendTo(appendToSelector); 
    return nameWthId; 
} 

fileUploadManual: function(dom) { 
    var iFrameName = context.createIFrame(dom + " .manual-upload-file"); 
    $(dom + " .fileUploadForm")[0].target = iFrameName; 
    $(dom + " .fileUploadForm")[0].action = config.post; 
    $(dom + " #" + iFrameName).load(function(ev) { 
    //some logic 
    }) 
} 
+0

它没有iframe的工作(不设置目标)? IE强制下载似乎不是iframe问题,而是像响应MIME类型等错误。 – Andris 2011-04-19 11:11:48

回答

0

它类似于this问题。

您必须返回"text/html" mime类型作为回应。

相关问题