我有ajax验证功能,当ajax验证为真时,我使用:
$("#test_form").submit();
它工作正常,但任何时候我可以单击回车并在未验证表单时提交表单(跳过验证过程并传递错误的数据)。 我试着把
$("#test_form").submit(function(){event.preventDefault();});
然后仍然可以在数据错误时使用enter提交 或
$("#sample_form").submit(function(){false});
然后我无法随时提交。
如果只在ajax为真时才提交?
答案 0 :(得分:1)
你的答案的第一部分在评论部分说:
使用
$("#test_form").submit(function(event){event.preventDefault();});
通知function(event)
- Satpal
然后你会注意到另一个问题,你的表单永远不会在AJAX调用后提交。那是因为你使用$("#test_form").submit();
提交,这是触发事件的jQuery。当jQuery触发事件时,preventDefault
将始终阻止它。
您需要做的是使用本机JavaScript事件:
$("#test_form")[0].submit();
当您使用本机处理程序时,您使用jQuery添加的事件将不会触发。它会直接发送表格。
答案 1 :(得分:0)
在“提交”按钮中,使用onclick with return
然后按“输入”,将首先检查javascript验证。