2012-03-14 62 views
1

我有一对,我用这个按钮提交:jQuery的提交将无法提交表单

<button id="registerButton" type="submit" name="submit" style="margin-left: 300px;">Click to Complete</button> 

我做的错误与这个jQuery检查:

$('#registerButton').bind('click',function(){ 
    if($('#formElem').data('errors')){ 
      alert('Please correct the errors in the Form'); 
      return false; 
     } 
}); 

当我去提交如果在表单上检测到错误,它将弹出警报。但是,如果没有错误,按钮不会执行任何操作。我究竟做错了什么?

回答

2

绑定表单提交事件的验证。

$("#formid").submit(function(e) { 
    if($(this).data('errors')){ 
     //display error 
     e.preventDefault(); //stop the submit 
    } else { 
     //do something or nothing 
     //but it will submit the form 
    } 

}); 
+0

应该将#form-element作为提交按钮的ID还是表单的ID? – 2012-03-14 22:54:07

+0

@王子,形式:) – Starx 2012-03-14 22:55:43

+0

不幸的是,这是有希望的,但它没有工作提交表单。有没有工具,我可以用来查看错误发生的地方,当我点击提交按钮,并没有错误? – 2012-03-14 22:57:50

0

看起来您需要为您的功能添加else {return true;}

+0

如果error == true正在触发,'else'语句会做什么? – Gary 2012-03-14 22:41:29

+0

我试着添加,但是按钮仍然没有任何东西。 – 2012-03-14 22:43:26

0

只是为您提供一个完整的小例子,适用于我,在Firefox,Internet Explorer,Chrome和Opera。希望有所帮助。

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
<script> 
    jQuery(document).ready(function(){ 

     $("#frm").submit(function(e){ 

      if($(this).data("errors")){ 
       alert("errors"); 
       return false; 
      } 
      return true; 
     }); 
    }); 
</script> 
</head> 
<body> 
    <form id="frm" action="#sent" data-errors="have errors"> 
     <input type="submit" /> 
    </form> 
</body> 
</html>