我有一个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函数打开的对话框。
答案 0 :(得分:3)
如果这意味着您要从iframe内部关闭对话框,则可以尝试类似
的内容parent.$('#your-dialog-id').dialog('close');
如果需要,我可以稍后提供一个完整的例子......
答案 1 :(得分:1)
我有另一个解决方案(接受的解决方案在我的情况下不起作用):
parent.$('.ui-dialog-titlebar-close').click();
答案 2 :(得分:0)
您可以发送示例或源代码吗?
如果你不能,请尝试使用target =“”attr。