日期:2014-05-17 浏览次数:20533 次
function nums(){
var n = document.natform.num.value;
var url="index.php?c=nat&a=natid&id="+n+"";
if(n == ''){
document.getElementById('num').style.display='block';
document.getElementById('num').innerHTML='编号不能为空';
document.getElementById('num').style.color='red';
return false;
}else{
xmlHttpRequest = createXmlHttpRequest();
xmlHttpRequest.onreadystatechange = handle;
xmlHttpRequest.open("GET",url,true);
xmlHttpRequest.send(null);
//我的问题就是 在这个else里怎么接收到 handle()的返回值(true false)
}
}
function handle(){
if(xmlHttpRequest.readyState == 4){
var re = xmlHttpRequest.responseText;
if(re){
document.getElementById('num').style.display='block';
document.getElementById('num').innerHTML='编号已存在';
document.getElementById('num').style.color='red';
return false;
}else{
document.getElementById('num').style.display='block';
document.getElementById('num').innerHTML='可以使用';
document.getElementById('num').style.color='green';
return true;
}
}
}
function saves(){
if(nums()){
document.natform.action="index.php?c=nat&a=addnatpost";
document.natform.submit();
}
}
var re = xmlHttpRequest.responseText; //这里的re值是多少?alert看看。 //如果没有值,说明是后端接收处理的问题
------解决方案--------------------
ajax 是异步通讯方式,所以你不可能从 num() 得到正确的返回值
你所需要的提交动作应在 handle 中完成