打开ajax成功调用对话框

时间:2013-06-20 17:41:29

标签: jquery jquery-ui-dialog

在成功的ajax事件之后,我很难找到打开对话窗口的方法。目前,我正在使用jquery .html将一些html插入到div中,但我想要做的是创建一个带有html的对话窗口而不是使用标准的div。这是因为值会发生变化,因此标准响应不会发生变化。这可能吗?

我的示例代码中的div; #dialog-message,只是一个例子。感谢

jquery +对话框代码

    //Begin function to submit report form

$(function () {
    $("#frmreport").submit(function () {

        var send = $(this).serialize();

        $.ajax({
            type: "POST",
            url: "/sample/admin/frm10010.php",
            data: send,
            dataType: "json",
            success: function (msg) {
                $("#confirm_department").hide();
                $(function () {
                    $("#dialog-message").dialog({
                        modal: true,
                        buttons: {
                            Ok: function () {
                                $(this).dialog("close");
                            }
                        }
                    });
                });
                //alert('You have succesfully submitted your ' 
                //   + msg.dept + ' report. Thank you.');
                //$("#report_result").html("You have succesfully 
                //   submitted your report. Thank you."+"<br /><br />");
                $("#formShow").hide();
                $("#formImage .col_1 li").show();
                $("#frmreport").get(0).reset();
            }
        });
        return false;
    });
});

// End function to submit report form

1 个答案:

答案 0 :(得分:0)

无需在$(function() {...});函数中包装对话框初始化。这会将ready事件侦听器附加到文档中,因此您不需要包含所有内容:http://api.jquery.com/jQuery/#jQuery3

尝试使用以下代码替换success回调:

function (msg) {
    $("#confirm_department").hide();
    $("#dialog-message").dialog({
        modal: true,
        buttons: {
            Ok: function () {
                $(this).dialog("close");
            }
        }
    });
    //alert('You have succesfully submitted your ' + msg.dept + ' report. Thank you.');
    //$("#report_result").html("You have succesfully submitted your report. Thank you."+"<br /><br />");
    $("#formShow").hide();
    $("#formImage .col_1 li").show();
    $("#frmreport").get(0).reset();
}

此外,dialog()jQueryUI的一部分,而不是基本的jQuery库。您需要导入两个库才能使用。