我有 ajax 验证功能,当 ajax 验证为真时,我使用:
$("#test_form").submit();
它工作正常,但任何时候我都可以单击 Enter 并在未验证表单时提交表单(跳过验证过程并传递错误数据)。 我试着把
$("#test_form").submit(function(){event.preventDefault();});
然后当数据错误时仍然可以回车提交 或
$("#sample_form").submit(function(){false});
那我就不能提交了。
如何只在ajax为true时才提交?
最佳答案
你的第一部分答案在评论区说出来了:
Use
$("#test_form").submit(function(event){event.preventDefault();});
noticefunction(event)
– Satpal
然后您会注意到另一个问题,您的表单在 AJAX 调用后永远不会提交。那是因为你使用了$("#test_form").submit();
来提交,也就是触发事件的jQuery。当 jQuery 触发事件时,它将始终被 preventDefault
阻止。
您需要做的是使用原生 JavaScript 事件:
$("#test_form")[0].submit();
当您使用 native 处理程序时,您使用 jQuery 添加的事件将不会触发。它将改为直接发送表单。
关于javascript - 表单提交不能正确使用 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24574063/