我有一个带有iframe的jQuery模态对话框,iframe包含一个表单。当用户提交表单时,我想关闭模式对话框。
我设法通过添加此问题中编写的最后一段代码来做到这一点,但问题是它只关闭对话框一次,如果我再次打开它并尝试关闭它,它不会工作
index.php上的jquery模式脚本:
<script type="text/javascript">
function showRegDialog(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>
链接index.php以调用showRegDialog modal:
<a href="javascript:showRegDialog('/register.php');">Register now</a>
这是register.php的内容
<html>
<body>
<form action="" method="POST" onsubmit="parent.closeModal();">
<input type="text">
<input type="submit">
</form>
</body>
</html>
我已将此添加到index.php:
function closeModal() {
$("#externalSite").dialog("close");
}
答案 0 :(得分:0)
您可以尝试使用index.php
function closeModal() {
$("#externalSite").dialog("destroy");
}