【问题标题】:Close jQuery Modal Dialog on Form Submit提交表单时关闭 jQuery 模态对话框
【发布时间】:2011-09-21 04:35:48
【问题描述】:

我有一个带有表单的模态对话框。当用户单击对话框上的提交按钮时,我希望提交表单,并且它工作正常。我正在使用 ajax 请求,因此在提交中使用 return false;。这是我的代码:

    $("#new_account_class").live("submit", function(){
        $.post(this.action, $(this).serialize(), null, "script");
        return false;
    });

现在,我希望在同一事件中关闭对话框。问题是,我在 return false; 之后写的任何内容都不会执行,并且我无法在 return false 之前关闭对话框。但必须有一条出路,有人可以帮忙吗?谢谢。

【问题讨论】:

    标签: jquery


    【解决方案1】:
    $("#new_account_class").live("submit", function(){
        $.post(this.action, $(this).serialize(), function(){
         //this callback is executed upon success full form submission close modal here
    
      }, "script");
        return false;
    });
    

    【讨论】:

    • 一个问题,我第一次打开对话框并提交,它关闭,如果我再次打开它,它不会在提交时关闭。有什么想法吗?
    • 你能发布代码你是如何关闭模式的吗?也可以提出一个新问题,这样如果我无法提供帮助,其他人可能会
    • 我实际上找到了一个解决方案,我需要通过 $('#dialog-form').remove(); 删除 html 元素因为#dialog-form 已经存在。 :)
    【解决方案2】:

    你不能在'$.post(...'之后添加代码吗?示例:

    $("#new_account_class").live("submit", function(){
        $.post(this.action, $(this).serialize(), null, "script");
        myModal.close(); //example code
        return false;
    });
    

    【讨论】:

    • 是的,这是可行的,但函数返回 true,因此我执行 create 之后的控制器操作,并发生重定向。我不想重定向。另一个答案有效。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多