当我提交表单时,如何关闭我的jquery ui对话框?

leo*_*ora 3 javascript forms jquery

我将一个表单加载到jquery ui对话框中.我有一个提交按钮(在我的表单内 - 不是实际的对话框按钮)调用控制器操作,但我无法弄清楚如何在调用提交后关闭对话框,因为我没有任何附加的事件处理程序.

除了将提交更改为输入类型=按钮之外,还有什么呢?

我知道在jquery中我可以捕获提交

$('#positionForm').submit(function () {
    // do stuff
    return true;
});
Run Code Online (Sandbox Code Playgroud)

但这似乎在提交之前解雇,所以我不想关闭对话框.

以下代码有什么问题:

$('#positionForm').live('submit', function () {

    $.post('/MyController/Action', $("#positionForm").serialize(), function (data) {
            alert(data);
    }, "html");

    closeModalPopup();
    return false ;
});
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 5

有关更新的问题:您可以在success回调中调用close代码,如下所示:

$('#positionForm').live('submit', function () {
  $.post('/MyController/Action', $(this).serialize(), function(data) {
    $('#positionForm').closest(".ui-dialog-content").dialog("close");
  }, "html");
  return false;
});
Run Code Online (Sandbox Code Playgroud)

原始答案:您可以附加表单submit处理程序,例如:

$("#myform").submit(function() {
  $(this).closest(".ui-dialog-content").dialog("close");
});
Run Code Online (Sandbox Code Playgroud)

你可以在这里尝试一下.