如何在其中关闭带有iframe的jQuery模态对话框?

时间:2011-01-09 18:32:37

标签: php jquery html

我有一个jQuery模式对话框,可以在iframe上加载不同的页面。

iframed页面中有一个表单,我试图在用户提交表单后自动关闭jQuery模式对话框。

这甚至可能吗?

谢谢,

LoadModal代码(在first.html上):

<script type="text/javascript">
function showModal(url) {
$(function() {


var $this = $(this);
var horizontalPadding = 30;
var verticalPadding = 30;
$('<iframe id="externalSite" scrolling="no" frameborder="0" class="externalSite" src="' + url + '" />').dialog({
 title: ($this.attr('title')) ? $this.attr('title') : 'Choose your location',
 autoOpen: true,
 width: 700,
 height: 700,
 modal: true,
 resizable: true,
 autoResize: true,
 overlay: {
  opacity: 0.5,
  background: "black"
 }

}).width(700 - horizontalPadding).height(700 - verticalPadding);            

});
}
</script>
<button onclick="showModal('/iframe.html');">Add</button>

iframe代码(iframe.html)

<html>
<body>
<form action="" method="POST">
<input type="text" name="test">
<input type="submit">
</body>
</html>

提交iframe表单后,我想关闭first.html jQuery函数打开的对话框。

3 个答案:

答案 0 :(得分:3)

如果这意味着您要从iframe内部关闭对话框,则可以尝试类似

的内容
parent.$('#your-dialog-id').dialog('close');

如果需要,我可以稍后提供一个完整的例子......

答案 1 :(得分:1)

我有另一个解决方案(接受的解决方案在我的情况下不起作用):

parent.$('.ui-dialog-titlebar-close').click();

答案 2 :(得分:0)

您可以发送示例或源代码吗?

如果你不能,请尝试使用target =“”attr。