2011-04-19 114 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類型作爲迴應。