2012-06-07 17 views
0

我只要點擊一個特定的按鈕jQuery.post()運行:爲什麼jQuery UI對話框在IE8中打開2個模式?

function createNewImage() { 
    jQuery.post("create/new/image.php", {some:params}, function (data) { 
     loadImageSelector(data); 
    }, "json"); 
} 

create/new/image.php已成功運行,服務器已準備好接受和圖像附加到新創建的數據庫行,我們打開這個jQuery UI對話框模式:

function loadImageSelector(data) { 
    jQuery('<iframe src="script.php?id=' + data.param + '" /></iframe>').dialog({ 
     modal: true, 
     width: 500, 
     height: 400, 
     resizable: false, 
     title: "Upload an Image" 
    }); 
} 

問題是,在IE8我看到2個對話框彈出。 1包含script.php的全部內容,並且看起來是正確的,但是在此之上是另一個僅具有標題(「上傳圖像」)和關閉按鈕 - 沒有內容(iframe)的對話框。這種行爲在IE9/Chrome/Firefox中沒有發生。

+0

控制檯沒有錯誤?調試時會發生什麼?沒有遇到問題很難幫助你... –

+0

是的,這將是一個難以追查的問題。在控制檯中沒有錯誤,在所有瀏覽器中只有1個對話框,但IE8。我主要希望以前有人遇到過這個問題,但我所看到的唯一類似問題與加載對話框的無限循環有關。也許這是相關的...... –

回答

0

這很有趣。上面的代碼關閉了2個iframe和IE8以某種方式反應並創建了2個模態。

第一個標籤通過/>關閉,但隨後包含另一個</iframe>標籤。這是偶然的,但我覺得它很有趣,它響應這樣。

不管怎樣,確保標記存在,因爲它應該(<iframe ...></iframe>)解決了問題。