jqueryUI确认对话框消失

jqueryUI确认对话框消失,jquery,forms,jquery-ui,submit,Jquery,Forms,Jquery Ui,Submit,有人能帮我打开jQueryUI对话框吗?我正在努力工作,以确认是还是否 <script src="/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" /> <scr

有人能帮我打开jQueryUI对话框吗?我正在努力工作,以确认是还是否

    <script src="/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>

      <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
    <script>

        $(function () {

            $("#dialog").dialog({
                autoOpen: false,
                resizable: false,
                height: 240,
                modal: true,
                show: {
                    effect: "blind",
                    duration: 1000
                },
                hide: {
                    effect: "explode",
                    duration: 1000
                },
                buttons: {
                    "Yes": function () {
                        $(this).dialog("close");
                        $('#searchForm').submit();
                    },
                    "No": function () {
                        $(this).dialog("close");
                        return false
                    }
                }
            });
        });
        $(function () {
            $('#searchForm').submit(function () {

                $("#dialog").dialog("open");

            });
        });
</script>


    <div id="dialog" title="Confirm Terms?">
  <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>Click YES to accept the Terms of Use</p>
</div>
       <form action="#" id="searchForm" method="post" name="searchForm">
            <input id="firstname" name="firstname" style="width: 140px;" type="text" value="paul" />
            <input id="surname" name="surname" style="width: 140px;" type="text" value="east" />
            <input id="address" name="address" style="width: 490px;" type="text" value="" />
            <input type="submit" value="Filter" />

                  </form>

$(函数(){
$(“#对话框”)。对话框({
自动打开:错误,
可调整大小:false,
身高:240,
莫代尔:是的,
展示:{
效果:“盲”,
持续时间:1000
},
隐藏:{
效果:“爆炸”,
持续时间:1000
},
按钮:{
“是”:函数(){
$(此).dialog(“关闭”);
$(“#搜索表单”).submit();
},
“否”:函数(){
$(此).dialog(“关闭”);
返回错误
}
}
});
});
$(函数(){
$('#searchForm')。提交(函数(){
$(“对话框”)。对话框(“打开”);
});
});
单击“是”接受使用条款

每次单击“提交”按钮时,对话框会出现约1秒,然后消失并提交表单。请你指出我错在哪里好吗


谢谢Paul

对话框将立即消失,因为您的submit函数没有返回false或调用
preventDefault()。见:

如果没有此选项,表单提交将在显示对话框后自动进行

编辑:

此外,在对话框Yes按钮处理程序中提交表单时,您将再次调用submit函数,这将立即重新显示对话框-可能不是您想要的

在表单上调用submit之前,您必须存储用户的确认信息。例如:

var reallySubmit = false;

...

buttons: {
    "Yes": function () {
        reallySubmit = true;
        $(this).dialog("close");
        $('#searchForm').submit();
    },

...

$('searchForm').submit(function () {
    if (!reallySubmit) {
        $("#dialog").dialog("open");
        return false;
    }
});

...

谢谢你真是太好了。谢谢你的编辑,我相信这将是我的下一个问题