我的问题是,我有一个表单,我想使用jquery验证字段,如果数据是正确的我让提交继续,如果没有我通过返回false禁用默认行为(看到在教程,here)
所以我使用了我说的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
});
答案 0 :(得分:6)
检查表单提交的正确方法是检查表单的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
保留在那里用于生产目的。 :)有很多,更好的方式来显示用户通知而不是警报。查看this question以获取一些建议,尽管只是出现错误<div>
并且淡入其中的内容比丑陋的默认浏览器提醒框更好。
答案 1 :(得分:2)
由于您说您正在使用表单,因此可以绑定到表单的submit
事件:
$('form#id').submit(function(){
// your validation code
});
答案 2 :(得分:2)
您应该查看JQuery Validation Plugin。它由JQuery团队的一名成员维护,它有助于简化客户端表单验证。
答案 3 :(得分:0)
你的问题是你总是返回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;
});