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不管用,也没法取得它返回的值。
展开
 我来答
大陆水手
2008-04-02
知道答主
回答量:17
采纳率:0%
帮助的人:0
展开全部
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() 动作就好了 :)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式