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