我需要在单击提交按钮之后以及实际提交表单之前运行一些代码。 我已经删除了代码,只留下了向您展示问题所需的部分。 我需要代码做的是进入提交函数,但不是提交表单再次调用该函数。 表单应仅在第二次迭代中提交。 除了它没有。代码完全按照原样执行,但表单最终没有提交。
如果有人能解释原因,我将不胜感激。
这是代码(simplr-reg是表单的名称):
<script>
var reallySubmit = false;
$(‘#simplr-reg’).submit(function(event)
{
if (false == reallySubmit)
{
reallySubmit = true;
$(‘#simplr-reg’).submit();
event.preventDefault();
return false;
}
else
{
return true;
}
});
</script>
答案 0 :(得分:4)
$("#simplr-reg").submit();
这就是说“在jQuery选择上调用submit
方法”。你有一个绑定到选择的jQuery submit
处理程序。由于您已经在jQuery选择上触发了事件,因此也会触发jQuery处理程序。
如果在本机DOM表单对象(提交处理程序中的this
)上触发事件,则不会触发jQuery处理程序,因此您不会绕圈。调用form.submit
方法:
this.submit();
答案 1 :(得分:3)
将其从“提交”事件更改为“点击”事件并将其附加到按钮本身而不是表单?
ETA:请务必在未提交的案件中“返回虚假”。
$("#simplr-reg-submit").click(function()
{
alert("1st iteration");
$("#simplr-reg").submit();
return false;
});