0

我有一個允許用戶通過jQuery模態窗體登錄的Rails應用程序。登錄後,我使用location.reload()刷新原始頁面。在location.reload()完成後觸發jQuery函數

在這一點上,我試圖創建一個新的jQuery對話框。只有在location.reload()完成執行後,我如何才能打開對話框?

現在對話框在location.reload()完成之前加載。這導致對話框消失。

回答

3

你不能。

調用location.reload()將重新加載整個頁面。一旦完成,來自原始頁面的Javascript完全消失了。

如果你重新加載整個頁面,首先使用AJAX有什麼意義?
您應該使用常規回傳執行登錄,然後添加發出Javascript的服務器端代碼以顯示登錄回發中的對話框。

您可以創建一個小的彈出窗口,使用window.opener在重新加載後與原始頁面進行通信,但這是一個非常醜陋的想法,並且易受彈出窗口阻止程序的影響。

0

也許你可以嘗試通過追加?var=value通過URL傳遞一個變量。

$(document).ready(function() { 

}); 

檢查URL中的參數

然後,如果它的存在,執行jQuery的delay()功能?

不知道這是否會與Rails一起工作,因爲我主要是做Drupal的PHP &。祝你好運!

相關問題