jQuery Forms - Ajax和normal提交相同的表单

时间:2009-06-11 14:22:04

标签: javascript jquery ajax forms jquery-forms-plugin

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

所需行动:

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

  • 用户'确认',然后使用标准帖子提交表单。

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

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

对于第二部分,我想再次提交表格,但非ajax。基本上我想这样做:

$('form').submit();

让它做一个实际的浏览器帖子。问题是$('form')。submit()只是触发ajax提交。

有没有办法将表格用于这两个目的?

5 个答案:

答案 0 :(得分:2)

$('forms-submit-button').click()

..是否有效,第二次提交?

:):)

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以尝试更改表单中的值(将某些隐藏值更改为1),执行另一个ajax请求并最终执行重定向。它不一样但应该有效。 请注意,虽然提交相同的数据两次是非常奇怪的。

答案 3 :(得分:0)

Surya作为评论回答(如果您再次查看此问题,请发布答案,以便我可以标记!)


$('forms-submit-button')。click()..对于第二次提交有效吗?

答案 4 :(得分:0)

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
}