2012-09-17 81 views
0

我遇到以下問題。我打開一個帶有外部腳本的彩盒。AJAX調用後關閉colorbox

我在打開的腳本中編輯一個字段並按下一個將輸入保存在數據庫中的按鈕。 這是通過AJAX完成的。 AJAX返回成功後,我寫了一些內容到主網頁,並希望關閉彩盒。但最後一件事情不會發生。

這是我的腳本

$.ajax({ 
      type: "POST", 
      url: "./editfield_AJAX.php", 
      data: {"q_table": q_table, "q_field": q_field, "q_idfield": q_idfield, "q_id": q_id, "waarde":$waarde}, 
      dataType: "text", 
      success:function(data){ 

       window.parent.$("#" + q_table+q_field).html(data); 

       //location.reload(true); 
       // Reload the parent and close Cbox 
       window.parent.$.colorbox.close(); 


     } 
    }); 

只有當我禁用location.reload(真)指揮顏色框關閉。但那不是我想要的,因爲那時父母會重新加載。

我已經閱讀了很多解決方案,但我不明白爲什麼它不起作用。

希望有人能幫助我。

感謝, 弗蘭克

回答

0

你試過添加onClosed事件處理程序的顏色框初始化代碼和移動location.reload(true);電話有:

$('selector').colorbox({ 
    onClosed: function() { 
     location.reload(true); 
    } 
}); 

這樣你在阿賈克斯成功,重載調用$.colorbox.close();只有在彩盒關閉後才能啓動。

+0

毫米,奇怪,我沒有得到任何你的帖子的通知..所以很抱歉,最近的反應。但是我不喜歡在關閉colorbox之後刷新父頁面...是否有另一種選擇? – Frank

+0

也許我不明白你想達到什麼。但是由於colorbox是在父DOM的內部加載的,所以一旦重新加載被初始化,它就會被銷燬。所以,在你調用'location.reload'的地方確實無關緊要。 – Bogdan

+0

有一個問題。從我可以推斷出來(因爲你使用'window.parent'來訪問colorbox插件),你的colorbox的內容類型是'iframe:true'。我對麼? – Bogdan