在修改用户资料时 会有一个判断名称是否存在的判断 AJAX操作。问题就出在这里了。我首先初始化了一个变量var comname=false;其他判断我都省略了 看ajax操作
function JudgeUserName(value) {
$.get("checkuser.aspx", { username: encodeURIComponent(value), flag: $("#txtmsg").val() },
function(data){
ajaxFun(data);
//在这里 我设断点看了下comname得值为true 是正确的。
});
//这里comname就莫名其妙的被弄成false了
}现在的问题是 用户点击修改资料 啥都没有改 点击修改的话 必须点击2次才能成功,第一次 是页面上显示检测通过,第二次才成功。
最后点击时 会执行这个函数 如果我在reg_check()后面加个alert的话 就只需要点击一次就可以了。这个时候comname依然是false不过当在if里面就莫名其妙的变成了true了function sub()
{
reg_check();
//alert(companyname);
if(companyname&&tel&&companyaddress&&linkman&&email&&mobile)
{
//alert(companyname);
return true;
}
else
{
return false;
}
}
什么原因呢 搞了半天了。
function JudgeUserName(value) {
$.get("checkuser.aspx", { username: encodeURIComponent(value), flag: $("#txtmsg").val() },
function(data){
ajaxFun(data);
//在这里 我设断点看了下comname得值为true 是正确的。
});
//这里comname就莫名其妙的被弄成false了
}现在的问题是 用户点击修改资料 啥都没有改 点击修改的话 必须点击2次才能成功,第一次 是页面上显示检测通过,第二次才成功。
最后点击时 会执行这个函数 如果我在reg_check()后面加个alert的话 就只需要点击一次就可以了。这个时候comname依然是false不过当在if里面就莫名其妙的变成了true了function sub()
{
reg_check();
//alert(companyname);
if(companyname&&tel&&companyaddress&&linkman&&email&&mobile)
{
//alert(companyname);
return true;
}
else
{
return false;
}
}
什么原因呢 搞了半天了。
如果要判断AJAX操作是否成功的话,最好在回调函数中判断,因为AJAX默认属性下是异步操作的。
function JudgeUserName(value) {
$.ajax({
type: "GET",
url: "checkuser.aspx",
dataType: "html",
data: "username=" + encodeURIComponent(value)+"&flag="+$("#txtmsg").val(),
beforeSend: function(XMLHttpRequest) {
$("#ccompanyname").text("正在查询....");
//Pause(this,100000);
},
success: function(msg) {
if(msg=="2") {companyname=true;$("#ccompanyname").html("<font style='font-size:12px;'><img src='images/pic_right.gif'> 恭喜,该用户名可以注册!</font>");}
} });
}
改了下 楼上的朋友看下 对么
我在if(msg=="2") 下 弹出了 companyname值 为true 可是依然 点2次才执行