2009-12-07 102 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

感谢。