我用的是FancyBox的带iframe的模态框。在iframe的表单成功时,我使用以下代码:
<script type="text/javascript">
window.setTimeout('window.top.location.href = "/page.asp"; ',999);
</script>
<script language="javascript">
<!--
setTimeout("parent.$.fancybox.close();",1000)
//-->
</script>
这将关闭FancyBox的模式框并刷新父页面。我想使用jquery在iframe的父页面上刷新一个div。
我希望父页面上id=“target”的目标div刷新,而不是整个页面。我该如何使用jquery呢?
短暂性脑缺血发作
下面的代码示例
父页
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
</head>
<body>
<div id="target">
content content
</div>
</body>
</html>
表单验证时的iframe页
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
</head>
<script type="text/javascript">
window.setTimeout('window.top.location.href = "/parent_page.asp"; ',999);
</script>
<script language="javascript">
<!--
setTimeout("parent.$.fancybox.close();",1000)
//-->
</script>
如何在父页上创建函数以刷新div id=“target”并从iframe调用它。现在,整个父页都会刷新。
最佳答案
将第二个参数传递给jquery,并具有所需的范围
将window.setTimeout('window.top.location.href = "/page.asp"; ',999);
替换为:
window.setTimeOut(function(){
$("#target", window.parent).load("/page.asp #target");
},999);