当前位置:编程学习 > C#/ASP.NET >>

js中的异步验证,设置为false,可以执行ajax代码,带设置为true就跳出ajax代码了

比如用户名txtUserName、密码txtUserPwd和验证码txtRV,使用function check(){
  var flag = true; 
  if(txtUserName.length =='规定的字符数量范围内'){
    $.ajax({
            async: true,
            type: "get",
            dataType: "html",
            url: "/Handler.ashx?Uname=" + txtUserName,
              success: function (data) {
             //异步是根据用户输入的用户名对用户表进行查询,看是否这个名字已经存在
                if(这个名字已存在){
              flag = false; 
              }
            });
          }
    }else{
     flag = false;
    }
    
    if(txtUserPwd.length != '指定输入字符数量的范围内'){
        flag = false;
    }

    if(txtRV.length == '指定输入的字符数量'){
       $.ajax({
            async: true,
            type: "get",
            dataType: "html",
            url: "/Handler1.ashx?txtRG=" + txtRG,  //验证码是异步生成的
            success: function (data) {
                if(验证码不正确){
                  flag = false;
                }
            }
    });
    
    return flag;  
}


<asp:button id="btn" ruant="servet" onclick="btn_click" onclientclick = "return check()" />

将用户名和验证码两项通过异步判断,设置它们的ajsx属性async:true,点击提交的时候,用户名是可以通过,但验证码随便输入符合长度的字符,也可以通过,只将验证码的ajax的属性:async:false,这样设置就可以执行验证验证码的ajax代码,也就可以通过了? 这是神马原因? 将async:false,这就是同步了,而不是异步了,将验证码的async:true,也可以通过的方法是什么?菜鸟求知道 ajax --------------------编程问答-------------------- 验证验证码的传递给hander的参数写错了,应该是txtRV  --------------------编程问答-------------------- 分开验证比较好,或者上面验证失败,就直接return,你那样的话,用户名失败的话,其实没有必要再去验证码 --------------------编程问答-------------------- --------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,