一:代码(王工)var flag=true;
$(function(){
$("#ff").submit(function(){ // 表单submit事件
registerUser(); // 进行验证
return mySubmit(flag); // 验证通过,返回true,不通过阻止表单的默认行为。
上面的return mySubmit(flag)是多余的哦,去掉的话,必须在registerUser()方法前加return。 return是往外传值。
});
});
//这个过渡时必须的函数
function mySubmit(flag){
return flag;
}
function registerUser(){
var acount=$('#account').val();//账号
var pwd=$('#inputPassword').val();//密码
var rePwd=$('#RePassword').val();//确认密码
var veryCode=$('#veryCode').val();//验证码
if(acount==''){
$('#msgId').text('用户名不能为空!');
flag=false;
return flag;
}
if(pwd==''){
$('#msgId').text('密码不能为空!');
flag=false;
return flag;
}
if(veryCode==''){
$('#msgId').text('验证码不能为空!');
flag=false;
return flag;
}
if(rePwd != pwd){
$('#msgId').text('两次密码不一致!');
flag=false;
return flag;
}
if(pwd!=''){
if(pwd.length<6){
$('#msgId').text('密码至少是大于6位的字母和数字的组合!');
flag=false;
return flag;
}
var re = new RegExp("[a-zA-Z]");
var len=re.test(pwd);
re = new RegExp("[0-9]");
len=re.test(pwd);
if(!len){
$('#msgId').text('密码至少要有字母和数字两种组合!');
flag=false;
return flag;
}
}
}
心得:事件: submit onsubmit
防止表单自动提交: return false 和 e.preventDefault(); return 无法阻止表单提交哦!
return false和e.preventDefault()的位置是放在函数体中就可,最后也是可以得哦!
return false一般是用来取消默认动作的。
javascript中的事件,我们是通过事件来触发方法,所以事件就是钩子,挂着方法,但html中的元素有其默认的行为。
比如表单,比如a标签! 所以通过return只是结束方法,但无法结束html元素的默认行为哦!
并且事件触发的方法和元素的默认行为优先级: 方法的优先级要比元素的默认行为优先级高的,所以总是先执行方法。
return false:结束方法,阻止元素默认行为! 此方法的返回值为false。