关于Ajax使用后还是跳转的问题

今天用Ajax改一个学长项目的时候发生了这样子的事情
明明使用了异步提交,可是还是页面跳转。弄得我满头大汗。。。
先上代码

function checkUsername(){
			    //alert("用户名校验");
                //获取用户名
				var username = $("#username").val();
                //正则定义
				var reg_username = /^\w{8,20}$/;

				//判断 给出提示
                var flag = reg_username.test(username);

                if(flag){
                    //用户名合法
                    $("#username").css("border","");
               
                }else{
                    //用户名非法
                    $("#username").css("border","1px solid red");
                }

                return flag;
			}

			//检验密码
			function checkPassword(){
				//alert("校验密码");
                //获取密码
                var password = $("#password").val();
                //正则定义
                var reg_password = /^\w{8,20}$/;

                //判断 给出提示
                var flag = reg_password.test(password);

                if(flag){
                    //密码合法
                    $("#password").css("border","");
               
                }else{
                    //密码非法
                    $("#password").css("border","1px solid red");
                }
				return flag;
			}

以上是检查方法

$(function () {
				//当表单提交时 调用所有校验方法
				$("#registerForm").submit(function () {

				    //发送数据到服务器
                    var flag = checkUsername()&&checkPassword()
                        &&checkEmial()&&checkName()
                        &&checkTelephone()&&checkBirthday()&&checkCheck();

                    if (flag){
                        //通过校验 发送Ajax请求,提交数据
                        $.post("registUserServlet",$(this).serialize(),function (data){
                            //处理服务器响应数据 data
                        });
                    }

                    //跳转页面  false不跳转
					return false;
				});

				//当对应组件失去焦点时
				$("#username").blur(checkUsername);
                $("#password").blur(checkPassword);
                $("#email").blur(checkEmial);
                $("#name").blur(checkName);
                $("#telephone").blur(checkTelephone);
                $("#birthday").blur(checkBirthday);
                $("#check").blur(checkCheck);
			});

当时改后台 改json都没用 静静看了会儿js发现检查返回值就没有true的时候(捂脸哭)

之后加了 return true后 就没问题了。。。。。

function checkUsername(){
			    //alert("用户名校验");
                //获取用户名
				var username = $("#username").val();
                //正则定义
				var reg_username = /^\w{8,20}$/;

				//判断 给出提示
                var flag = reg_username.test(username);

                if(flag){
                    //用户名合法
                    $("#username").css("border","");
                    return true;
                }else{
                    //用户名非法
                    $("#username").css("border","1px solid red");
                }

                return flag;
			}

			//检验密码
			function checkPassword(){
				//alert("校验密码");
                //获取密码
                var password = $("#password").val();
                //正则定义
                var reg_password = /^\w{8,20}$/;

                //判断 给出提示
                var flag = reg_password.test(password);

                if(flag){
                    //密码合法
                    $("#password").css("border","");
                    return true;
                }else{
                    //密码非法
                    $("#password").css("border","1px solid red");
                }
				return flag;
			}

找了我一晚上错 哭了。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值