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

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

假设您有以下标记

 

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

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

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

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

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

 $.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'); } } }); 

希望能帮助到你!

我想你打开你的对话框是这样的:

 $.post('xyz.htm', function(data) { $('#mydialog .mytarget').html(data).slideDown(); }); 

诀窍是使用回调函数(将响应作为参数获取),并将响应转储到您想要的元素中。