从iframe访问父窗口的元素
我有一个页面,我们可以调用parent.php。 在这个页面中,我有一个提交表单的iframe,除此之外,我有一个ID为“目标”的ID。 是否有可能在iframe中提交表单,以及何时成功刷新目标div。 说加载一个新的页面或东西?
编辑:目标div是在父页面,所以我的问题是基本上,如果你可以做一个例子一个jQuery调用之外的iframe到父。 那看起来怎么样?
编辑2:所以这就是我的jQuery代码现在的样子。 它在iframe页面中。 div #target在parent.php中
$(;"form[name=my_form]").submit(function(e){ e.preventDefault; window.parent.document.getElementById('#target'); $("#target").load("mypage.php", function() { $('form[name=my_form]').submit(); }); })
我不知道如果脚本是积极的,因为表单提交成功,但没有任何反应的目标。
编辑3:
现在即时通讯尝试从iframe中的链接调用父页面。 那里也没有成功
<a href="javascript:window.parent.getElementById('#target').load('mypage.php');">Link</a>
我认为这个问题可能是因为你的电话中的“#”来找不到你的元素:
window.parent.document.getElementById('#target');
你只需要#如果你正在使用jQuery。 这里应该是:
window.parent.document.getElementById('target');
在iframe中有下面的js,并使用ajax来提交表单。
$(function(){ $("form").submit(e){ e.preventDefault(); //Use ajax to submit the form $.ajax({ url: this.action, data: $(this).serialize(), success: function(){ window.parent.$("#target").load("urlOfThePageToLoad"); }); }); }); });
你可以像这样使用window.parent
从iframe中访问父窗口的元素:
// using jquery window.parent.$("#element_id");
这是一样的:
// pure javascript window.parent.document.getElementById("element_id");
如果你有多个嵌套的iframe,你想访问最顶级的iframe,那么你可以使用window.top
像这样:
// using jquery window.top.$("#element_id");
这是一样的:
// pure javascript window.top.document.getElementById("element_id");
我想你可以使用iframe中的window.parent。 window.parent返回父页面的窗口对象,所以你可以做这样的事情:
window.parent.document.getElementById('yourdiv');
然后做任何你想要的那个div。