JQuery表单validation

我的问题是,我有一个表单,我想使用jqueryvalidation字段,如果数据是正确的我让提交继续,如果没有我通过返回false禁用默认行为(在教程中看到, 这里 )。
所以我使用了jquery语法,当文档准备就绪时,我注册了按钮的click事件,问题是代码永远不会被执行。 我使用了萤火虫,但没有任何线索。 没有任何反应,所以这是我的代码:

$('#submitBtn').click(function() { var password1 = $('#form_password').val(); var password2 = $('#form_password2').val(); if( password1 != password2) { alert("the two passwords are not equal."); } return false; //to disable the default behavior of the submit btn }); 

检查表单提交的正确方法是检查表单的submit事件,而不是按钮的click事件。 改变周围和你所拥有的应该工作,虽然现在它总是做return false; 所以永远不会发送表格。 这应该这样做:

 $('#myform').submit(function() { var motPasse1 = $('#form_motPasse').val(); var motPasse2 = $('#form_motPasse2').val(); if(motPasse1 != motPasse2){ alert("Les deux mot de passe ne sont pas identiques"); return false; // cancel form submission if passwords don't match } return true; // return true if no errors }); 

最后,我希望你没有为生产目的alert 。 :)有很多,更好的方式来显示用户通知而不是警报。 查看这个问题以获得一些建议,尽管有一些简单的错误

并且淡入它比丑陋的默认浏览器警告框更好。

既然你说你正在使用表单,你可以绑定到表单的submit事件:

 $('form#id').submit(function(){ // your validation code }); 

您应该查看JQuery Validation插件 。 它由JQuery团队的一名成员维护,它有助于简化客户端表单validation。

你的问题是你总是返回false,它应该如下所示:

 $('#envoyerButton').click(function() { var motPasse1 = $('#form_motPasse').val(); var motPasse2 = $('#form_motPasse2').val(); if( motPasse1 != motPasse2) { alert("Les deux mot de passe ne sont pas identiques"); return false; } return true; });