代码之家  ›  专栏  ›  技术社区  ›  anonymous

jquery表单-ajax和normal提交相同的表单

  •  1
  • anonymous  · 技术社区  · 15 年前

    我的一页中有一个确认步骤。

    期望行动:

    • 用户单击“提交”,将发出执行相应操作并返回确认对话框的Ajax请求。

    • 用户“确认”,然后使用标准日志提交表单。

    因此,对于第一部分,我可以使用jquery表单插件:

    $('form').ajaxForm(...options...);
    

    对于第二部分,我想再次提交表单,但不是Ajax。基本上我想这样做:

    $('form').submit();
    

    让它做一个真正的浏览器帖子。问题是$('form').submit()只会触发Ajax提交。

    是否有一种方法可以同时用于这两个目的?

    5 回复  |  直到 14 年前
        1
  •  2
  •   Peter Ajtai    14 年前
    $('forms-submit-button').click()
    

    …第二次提交是否有效?

    :)

        2
  •  0
  •   Asbjørn Ulsberg    15 年前

    在Ajax发布了结果之后,您就不能注销提交事件处理程序吗?顺便问一下,为什么您需要发布相同的数据两次?如果Ajax发布和常规发布之间的数据没有变化,为什么需要常规发布?

        3
  •  0
  •   Keeper    15 年前

    您可以尝试更改表单中的一个值(将一些隐藏值设置为1),执行另一个Ajax请求,最后执行重定向。这不一样,但应该管用。 注意,提交相同的数据两次是很奇怪的。

        4
  •  0
  •   anonymous    15 年前

    作为评论由Surya回答(如果您再次检查此问题,请将答案张贴,以便我可以标记!)


    $('Forms-Submit-Button')。单击()。第二次提交是否有效?

        5
  •  0
  •   3 revs<br/>bluehipy&#13;    15 年前
    form onsubmit='ajaxCheck();'
    ...  
    /form script var ajaxCheck = function() { //do check return confirm(); // if ok form submit normaly / if cancel form doesn't submit } /script

    或者带旗的东西:

    var flag = true;
    
    var firstCheck = function()
    {
         if( flag )
         {
           //do the ajax Call which will fire an event,
           // let's call it onData
           $.post(url,{param1:val1,...,paramN:valN},onData);
           return false;
         }
         return true;
    }
    
    var onData = function (data)
    {
           flag = !confirm(...); 
          //if user click ok and try to re-submit the form
          //this time will just go
    }
    
    
    推荐文章