如何在jquery ui对话框中提交表单并显示其响应

bin*_*nay 4 jquery jquery-ui-dialog

嗨我正在使用jquery ui对话框并尝试使用ajax提交表单并显示其响应.直到表单对话框和ajax请求其工作正常,但不知道如何在同一对话框中显示其响应.任何建议都会帮助我.

Lor*_*nzo 5

假设您有以下标记

<div id="__DialogPanel" style="display:none" title=""></div>
Run Code Online (Sandbox Code Playgroud)

使用此代码,您可以设置对话框

$("#__DialogPanel").dialog({
    autoOpen: false,
    resizable: false,
    position: 'center',
    stack: true,
    height: 'auto',
    width: 'auto',
    modal: true
});
Run Code Online (Sandbox Code Playgroud)

使用此代码,您将显示对话框并包含ajax调用的结果

$.ajax({
    type: "get",
    dataType: "html",
    url: 'some/url',
    data: {},
    success: function(response) {
        $("#__DialogPanel").empty().html(response).dialog('open');
    }
});
Run Code Online (Sandbox Code Playgroud)

使用此代码,您可以在对话框中提交表单,然后在一切正常时将其关闭,或者如果有错误则再次显示表单

$.ajax({
    type: 'post',
    dataType: 'html',
    url: '/someother/url',
    async: false,
    data: $("#myform").serialize(),
    success: function (response, status, xml) {
        //Check for error here
        if (error) {
            $("#myform").parent().html('').html(response);
        }
        else {
            $("#__DialogPanel").dialog('close');
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!