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