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

时间:2010-09-08 13:34:44

标签: javascript jquery forms

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

除了将提交更改为输入类型=按钮之外还有这样做吗?

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

$('#positionForm').submit(function () {
    // do stuff
    return true;
});

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

以下代码有什么问题:

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

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

    closeModalPopup();
    return false ;
});

2 个答案:

答案 0 :(得分:5)

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

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

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

$("#myform").submit(function() {
  $(this).closest(".ui-dialog-content").dialog("close");
});

You can give it a try here

答案 1 :(得分:0)

您也可以使用$("#name_of_the_dialog")。对话框("关闭");

比使用$closest

更自然