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