0

我有这个:

$("#contact-frm-2").bind("jqv.form.result", function(event , errorFound){
    if(!errorFound){
        alert('go!');
        event.preventDefault();
        return false;                               
    }
});

它应该验证表单是否有错误,当表单上没有错误时,警告“Go!” 不提交。我正在使用您可以在http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/找到的 jquery.ValidationEngine.js

我确定

event.preventDefault();
            return false;

应该阻止表单提交,但它仍在提交。有人能告诉我我错过了什么吗?

4

4 回答 4

2

onsubmit” JavaScript 事件将为您处理这个问题。

jQuery:

$('#formid').submit(function(e) {
    e.preventDefault();
});

纯JS:

document.getElementById('formid').addEventListener('submit', function(e) {
    e.preventDefault();
});
于 2012-09-17T14:53:16.907 回答
0
$('#form_id').submit(function(e) {
    e.preventDefault();
    //...
});
于 2012-09-17T14:49:54.240 回答
0

是的,return false;应该阻止您的表单被提交,但前提是您在实际submit事件中执行它。您上面的代码看起来像是依赖于插件。为什么不尝试在表单中的实际提交按钮上附加一个额外的侦听器。

$("#submit_btn").on('click',function(){
  return false;
});
于 2012-09-17T14:50:36.090 回答
0

该插件具有可以使用的选项。其中之一是 OnvalidationComplete,它的作用如下所示:

jQuery("#contact-frm-2").validationEngine('attach', {
   promptPosition : "centerRight", scroll: true,
   onValidationComplete: function(form, status){
   alert("The form status is: " +status+", it will never submit");
   }  
});

完整的文档在这里http://posabsolute.github.com/jQuery-Validation-Engine/

于 2012-09-17T15:45:37.160 回答