我有一个页面,我们可以叫它parent.php
。在这个页面中,我有一个带有提交表单的iframe
,在这个页面之外,我有一个id为"target“的div。是否可以在iframe中提交表单,并在成功时刷新目标div。比方说加载一个新的页面到它里面或者别的什么?
编辑:目标div在父页面中,所以我的问题基本上是,您是否可以在iframe外部对父页面进行jQuery调用。那会是什么样子呢?
编辑2:这就是我的jquery代码现在的样子。它在iframe页面的中。div #目标在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();
});
})
我不知道脚本是否处于活动状态,因为表单提交成功,但对target没有任何反应。
编辑3:
现在,我尝试从iframe中的一个链接调用父页面。在那里也没有成功:
<a href="javascript:window.parent.getElementById('#target').load('mypage.php');">Link</a>
发布于 2012-01-26 01:14:17
我认为问题可能是你没有找到你的元素,因为你的调用中有"#“:
window.parent.document.getElementById('#target');
只有在使用jquery时才需要#。这里应该是:
window.parent.document.getElementById('target');
发布于 2016-02-21 22:08:43
您可以使用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");
发布于 2011-08-11 22:46:47
将以下js放在iframe中,并使用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");
});
});
});
});
https://stackoverflow.com/questions/7027799
复制相似问题