最近写了两个组表单提交的页面,好久没用jQuery,在写的时候总遇到一些莫名其妙的为难题,这里记录一下。
如果表单通过前端JS来先做预判断,然后通过JS来post到后端脚本的,则表单form标签可以不填action和method等信息。
validate初始化部分
$(document).ready(function(){
$('#form').validate({//文档加载完毕,初始化validate插件
//这里写validate初始化的一些信息,例如rules,messages等
});
});
validate验证、提交部分
$('#form').submit(function(){//当表单被提交时,进行表单验证
if($(this).valid() == true){
$.post({'./script.php'});//当表单验证通过时,post到./script.php的脚本上
}else{
alert('验证失败');
}
return false; //这个很重要,靠return false来阻止html的表单动作,让所有的表单动作都交给JS来处理。
});
之前一直没写return false
,导致总是出现个问题,例如alert()会一闪而过,后台会记录两次提交的,提交有时GET给了表单页面自己等…
后来怀疑是submit()的问题,查了一下手册,才发现有这么个东东。