1

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

期望的行动:

  • 用户单击“提交”并发出 AJAX 请求,该请求执行适当的操作并返回确认对话框

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

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

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

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

$('form').submit();

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

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

4

5 回答 5

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

..第二次提交有效吗?

:) :)

于 2009-06-11T18:32:08.853 回答
0

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

于 2009-06-11T14:25:23.173 回答
0

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

于 2009-06-11T14:28:17.550 回答
0

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


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

于 2009-06-11T14:42:38.810 回答
0
表单 onsubmit='ajaxCheck();'
...  
/形式 脚本 var ajaxCheck = 函数() { //做检查 返回确认();// 如果 ok 表单提交正常 / 如果取消表单没有提交 } /脚本

或带有标志的东西:

变量标志=真;

var firstCheck = 函数()
{
     如果(标志)
     {
       //执行将触发事件的ajax调用,
       // 我们称之为 onData
       $.post(url,{param1:val1,...,paramN:valN},onData);
       返回假;
     }
     返回真;
}

var onData = 函数(数据)
{
       flag = !confirm(...);
      //如果用户单击确定并尝试重新提交表单
      //这次就过去了
}

于 2009-06-11T22:05:58.340 回答