Javascript jQuery iframe模式在表单提交时关闭
我有一个jQuery模态对话框,其中有一个iframe,iframe包含一个表单。当用户提交表单时,我想关闭模式对话框 我该怎么做 index.php上的jquery模式脚本:Javascript jQuery iframe模式在表单提交时关闭,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个jQuery模态对话框,其中有一个iframe,iframe包含一个表单。当用户提交表单时,我想关闭模式对话框 我该怎么做 index.php上的jquery模式脚本: <script type="text/javascript"> function showRegDialog(url) { $(function() { var $this = $(this); var horizontalPadding = 30;
<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>
函数showRegDialog(url){
$(函数(){
var$this=$(this);
var水平填充=30;
垂直填充变量=30;
$('')。对话框({
标题:($this.attr('title'))?$this.attr('title'):'Choose your location',
自动打开:对,
宽度:700,
身高:700,
莫代尔:是的,
可调整大小:正确,
自动调整大小:正确,
覆盖:{
不透明度:0.5,
背景:“黑色”
}
}).宽度(700-水平填充)。高度(700-垂直填充);
});
}
链接index.php以调用showRegDialog模式:
<a href="javascript:showRegDialog('/register.php');">Register now</a>
这是register.php的内容
<html>
<body>
<form action="" method="POST">
<input type="text">
<input type="submit">
</form>
</body>
</html>
您可能正在寻找
给你的表格一个id
$("#formID").submit(function(){
parent.closeModal();
});
// function for closing modal window (in parent page)
function closeModal() {
$("#externalSite").dialog("close");
}
在父窗口中调用javascript函数,如下所示:
parent.yourJsFunction();
将它放在表单的“onsubmit”中。但是我只需要在表单提交后启动该命令,并且表单位于iframe中,那么我如何实现您的解决方案呢?谢谢你因为某种原因没能工作。。请看:当我提交表单时,它不会关闭对话框。只是提交表单。我注意到,如果我再次尝试打开对话框并提交表单,它不会关闭它。由于某些原因,只能在第一次使用…您能帮我回答我的问题吗?您能发布一个链接到您的网页吗?您可能需要在关闭对话框后调用销毁功能,因为如果您第二次打开它,您可能有两个ID相同的元素。只是猜测一下,我得到了一个未捕获的TypeError:parent.closeModal不是一个函数,两个函数都位于iframe和主窗口的正确位置