代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

提交表单时如何关闭jquery用户界面对话框?

  •  3
  • leora Matt Lacey  · 技术社区  · 14 年前

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

    除了更改submit to input type=按钮之外,还有没有其他方法可以这样做?

    我知道在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 回复  |  直到 10 年前
        1
  •  5
  •   Nick Craver    14 年前

    对于更新的问题: 您可以调用 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 .

        2
  •  0
  •   oaceballos    10 年前

    你也可以用 $("#name_of_the_dialog") .dialog(“关闭”);

    它比使用更自然 $closest