Javascript 递归jQuery提交函数不使用';不要提交表格

Javascript 递归jQuery提交函数不使用';不要提交表格,javascript,jquery,recursion,form-submit,Javascript,Jquery,Recursion,Form Submit,我需要一些代码在点击submit按钮之后和表单实际提交之前运行。 我已经剥离了代码,只留下了显示问题所需的部分。 我需要代码做的是进入submit函数内部,但不是提交表单,而是再次调用函数。 表单只应在第二次迭代中提交。 但事实并非如此。代码被完全执行,但表单最终没有提交 如果有人能解释一下原因,我将不胜感激 以下是代码(simpr reg是表单的名称): var reallySubmit=false; $('simpr reg')。提交(函数(事件) { if(false==real

我需要一些代码在点击submit按钮之后和表单实际提交之前运行。 我已经剥离了代码,只留下了显示问题所需的部分。 我需要代码做的是进入submit函数内部,但不是提交表单,而是再次调用函数。 表单只应在第二次迭代中提交。 但事实并非如此。代码被完全执行,但表单最终没有提交

如果有人能解释一下原因,我将不胜感激

以下是代码(simpr reg是表单的名称):


var reallySubmit=false;
$('simpr reg')。提交(函数(事件)
{    
if(false==reallySubmit)
{
reallySubmit=true;
$('simpr reg')。提交();
event.preventDefault();
返回false;
}
其他的
{
返回true;
}
});

将其从“提交”事件更改为“单击”事件,并将其附加到按钮本身而不是表单

ETA:请确保在未提交的情况下“返回false”

$("#simplr-reg-submit").click(function()
{    
      alert("1st iteration");
      $("#simplr-reg").submit();
       return false;
});
这表示“在jQuery选择上调用
submit
方法”。您将jQuery
submit
处理程序绑定到所选内容。因为您已经在jQuery选择上触发了事件,所以jQuery处理程序也会被触发

如果您在本机DOM表单对象上触发事件(
this
,在提交处理程序中),jQuery处理程序将不会被触发,因此您不会兜圈子。调用该方法:


你怎么知道它没有被提交?@Neal,我正在使用WordPress网站注册插件,当表单被提交时,我收到一条消息说它已成功提交。在这种情况下,我没有。我还检查数据库,看看是否添加了新记录。他最好为按钮添加一个单击事件(任何不能自动提交的事件),然后在其他功能完成后调用表单提交事件。无需将其设置为“递归”足够真实,但如果所有内容都已创建(即自动生成表单),请单击w/返回false。@Brian,感谢您的快速回复。返回值是否足够虚假?是否也应该有event.preventDefault()?另外,如果表单名称为Simpr reg,按钮名称为submit reg:$(“#Simpr reg.submit reg”)。单击(函数(事件)?编辑了上面的答案。对于提交按钮,Return false和preventDefault()本质上是相同的。Return false抑制click()事件,preventDefault()抑制submit()事件。如果可能的话,我会更改为ID,否则我认为它是$('[name=“submit reg”]”),但将它放在firebug控制台中,用前面的ID测试使用情况。@Ash@Brian在jQuery处理程序中,
return false
相当于调用
e.preventDefault()
e.stopPropagation()
@lonesomeday,谢谢。它似乎正在使用我在问题中显示的代码。但是在我的完整代码中,第一个提交函数调用另一个函数,我应该在其末尾调用第二个提交函数。但是它不识别那里的“this”操作符。我能做什么?@Ash
$(“#simpr reg”).get(0)。submit();
检索本机DOM元素,因此您可以在其上调用本机的
submit
方法。@lonesomeday,它仍然没有提交。我已经放置了脚本,如果您能看一看,那将非常有用。另一个功能称为“codeAddress”,是黄色的,但不需要全部检查。就在我再次调用submit的结尾处。@Ash您有任何错误吗?看起来它应该可以工作,但我不熟悉您使用的API。@lonesomeday,我已将函数剥离为只包含对submit函数的调用。您可以再看一眼代码。但它仍然无法运行体重指数。
$("#simplr-reg-submit").click(function()
{    
      alert("1st iteration");
      $("#simplr-reg").submit();
       return false;
});
$("#simplr-reg").submit(); 
this.submit();