模态对话框立即关闭

Ale*_*osa 2 asp.net-mvc jquery

我遇到了模态对话框的问题,它在用户按下和输入按钮时激活,然后模态对话框显示,并立即消失而不做任何事情.

代码:

$('form').submit(function(e) {
    var dialog = $("#dialog");
    if ($("#dialog").length == 0) {
        dialog = $('<div id="dialog" style="display:hidden"> Los datos ingresados son:</div>').appendTo('body');
    }
    dialog.load(
        $("#dialog").dialog({
            close: function(event, ui) {
                dialog.remove();
            },
            resizable: false,
            //height: 140,
            //width: 460
            modal: true,
            buttons: {
                "Ok": function() {
                    $(this).dialog("close");
                },
                Cancel: function() {
                    $(this).dialog("close");
                }
            }
        })
    );
    return true;
});
Run Code Online (Sandbox Code Playgroud)

此外,我怎样才能做到这一点,当用户在模态对话框中按ok时,事件会继续?

Yor*_*rgo 6

添加e.preventDefault();

在将true设置为isConfirmed后,单击Ok按钮提交表单

var isConfirmed = false;


$('form').submit(function(e) {
               if(!isConfirmed){
                    var dialog = $("#dialog");
                    if ($("#dialog").length == 0) {
                        dialog = $('<div id="dialog" style="display:hidden"> Los datos ingresados son:</div>').appendTo('body');
                    }
                    dialog.load(
                        $("#dialog").dialog({
                            close: function(event, ui) {
                                dialog.remove();
                            },
                            resizable: false,
                            //height: 140,
                            //width: 460
                            modal: true,
                            buttons: {
                                "Ok": function() {
                                    $(this).dialog("close");
                                    isConfirmed=true;
                                    $("form").submit();
                                },
                                Cancel: function() {
                                    $(this).dialog("close");
                                }
                            }
                        })
                    );
                   e.preventDefault();
                   return false;
               }
               else
                  return true;
                });
Run Code Online (Sandbox Code Playgroud)