我之前使用过 jQuery 的 .html() 函数来更新内容,但它一直在 .ajax() 函数内部,例如:
$.ajax({
padding : 15,
type : "POST",
cache : false,
url : "anyPage.php?page=ajax",
data : $(this).serializeArray(),
success: function(data) {
$("#Div").html(data);
}
});
问题是,为了利用 TinyMCE,我必须在 iframe 内的 Fancybox 中打开它,但我遇到了发布数据的问题,通过将表单提交到 PHP $_GET URL 解决了这个问题(非常确定)这不是它实际的名称),然后关闭 Fancybox:
<? if($_GET['page'] == "X"){
$_SESSION["X"] = $_POST['X'];
echo '<script type="text/javascript">
parent.$.fancybox.close();
</script>';
die();} ?>
这成功地将 Post 变量传递到 Session 变量中,然后我可以从主页内部调用该变量。问题是,我还想刷新主页上的 div,但遇到了问题。
我认为我不能使用 .ajax(),至少我没有尝试使用它。
我还尝试使用 .html() 和 .load() 与 .parent() 等的不同组合。我尝试过的几个例子(其他的早已被覆盖):
parent.document.getElementById("Div").innerHTML = "something";
和
parent.$("Div").html("Some updated text");
按如下方式插入:
echo '<script type="text/javascript">
parent.$("Div").html("Some updated text");
parent.$.fancybox.close();
</script>';
还没有找到任何有用的东西。想知道是否有人可以给我一些帮助。
最佳答案
如果域匹配,则在 iframe 和父文档中,您应该能够使用以下任一方式访问父文档:
window.parent
parent
top // If the parent is the top-level document
window.top
由于 parent
和 top
可以被 javascript 覆盖,我会使用 window.parent
或 window.top
>
关于javascript - 更新父页面上的 Div,最好使用 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16116113/