
ajax:onreadystatechange调用的函数的返回值问题
我在页面的表单上有一个提交验证<formonSubmit="returnyanzheng()".....>在yanzheng()函数里用到ajax对一个文本域进行服务端数...
我在页面的表单上有一个提交验证<form onSubmit="return yanzheng()" .....>
在yanzheng()函数里用到ajax对一个文本域进行服务端数据验证,其中
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
if (xmlHttp.responseText=="false")
{
alert("此证件号码已是在籍学生!\n请您核实后,重填");
oo.focus();
return false;
}else
{
return true;
}
}
}
}
---------------------------------
在验证函数yanzheng()里,遇到不符合条件的就return false,停止验证 返回false.
但是在这个ajax里onreadystatechange触发的函数的return不管用,也没法取得它返回的值。 展开
在yanzheng()函数里用到ajax对一个文本域进行服务端数据验证,其中
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
if (xmlHttp.responseText=="false")
{
alert("此证件号码已是在籍学生!\n请您核实后,重填");
oo.focus();
return false;
}else
{
return true;
}
}
}
}
---------------------------------
在验证函数yanzheng()里,遇到不符合条件的就return false,停止验证 返回false.
但是在这个ajax里onreadystatechange触发的函数的return不管用,也没法取得它返回的值。 展开
展开全部
function yanzheng(){
xmlHttp.onreadystatechange = function()
{
return false;
}
return ture;
}
这里的return false, 是内部function()的返回值,而不是function yanzheng的返回值,第二个,return true才是外层flase的返回值哈 :)
--------------------------------
这里最好不要用onSubmit="return yanzheng()"
也不要用input type="submit"
因为ajax会有个延时和等待,但是函数会立即返回一个值(true/false),因此不适合用在这里作为判断,流程应该是,先判断是否符合,符合再提交,不符合,直接return :)
可以用
<input type="button" onclick="yanzheng(this.form)" value="submit" />
如果验证通过, 在函数里面执行 form.submit() 动作就好了 :)
xmlHttp.onreadystatechange = function()
{
return false;
}
return ture;
}
这里的return false, 是内部function()的返回值,而不是function yanzheng的返回值,第二个,return true才是外层flase的返回值哈 :)
--------------------------------
这里最好不要用onSubmit="return yanzheng()"
也不要用input type="submit"
因为ajax会有个延时和等待,但是函数会立即返回一个值(true/false),因此不适合用在这里作为判断,流程应该是,先判断是否符合,符合再提交,不符合,直接return :)
可以用
<input type="button" onclick="yanzheng(this.form)" value="submit" />
如果验证通过, 在函数里面执行 form.submit() 动作就好了 :)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询