2009-12-07 103 views
8

我有一個頁面內的iframe,並且這個iframe包含一個提交按鈕,它將執行一些功能。如何在iframe中提交後刷新iframe父頁面?

我要的是:在iframe提交後完成,調用父頁面刷新。

我知道如何刷新:

parent.location.reload(); 

但我不知道該怎麼做,提交完成後。

回答

4

我加入這行代碼後我身後所有方法完成的代碼解決了這個問題:

ScriptManager.RegisterStartupScript(this, typeof(string), "script", 
"<script type=text/javascript> 
parent.location.href = parent.location.href;</script>", false); 

其原因我沒有寫parent.location.reload(),寫parent.location.href = parent.location.href是因爲我想一個新的新的一頁負荷不兩倍的數據發送到服務器。

2

提交表格是在I幀的文件的最後行動。提交表單後,該頁面就會「提交」並且不再處於活動狀態。如果您先刷新父級,則會丟失Iframe。您在Iframe中提交的時刻,您不能再與父母交談。

你可以做的這裏幾件事情之一:

  • 目標父,當您提交表單,那麼家長會不管你在頁面上的新的iframe希望。
  • 已在IFRAME結果頁面重新加載結果頁面上使用JavaScript父。
3

在您的iframe上使用onload事件處理程序。當後提交觸發,執行你的top.location.reload ...

// In parent 
window.onload = function() { 
    document.getElementById("MY_IFRAME").onload = function() { 
    top.location.reload(); 
    } 
} 
2

如果你只是想刷新父頁面的某些部分並不會需要刷新整個頁面,而這大部分的時代是因爲這種做法不會重新加載的iframe本身的情況下,你可以從子頁面調用一個JavaScript函數。

window.parent.myFunctionInParent('my argument'); 

,指導你的資源是在這裏:Refresh parent page partially from iframe

感謝。