执行checkhouse(),已经弹出"jj"了,show()应该返回true呀,但是网页上显示的竟然是"this house is already registered",我晕啊!!!!!!
function checkhouse(){
var obj5=document.getElementById('hello');
if(!/^[0-9]#[0-9]{3}$/.test(document.form1.house.value)){
obj5.innerHTML="id format is not correct";
}else if(!show()){
obj5.innerHTML="this house is already registered";
}else{
obj5.innerHTML="hao";
return true;
}
}
function show(){
var helloobj=document.getElementById("hello");
ajax=createAjax();
ajax.onreadystatechange=function(){
if(ajax.readyState==4){
if(ajax.status==200){
var data=ajax.responseText;
alert(data);
if(data.replace(/^\s*|\s*$/g, '')=="ok"){
alert("jj");
return true;
}
}else{
alert("页面请求失败");
}
}
} ajax.open("post", "register.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var dorarea=document.getElementsByTagName('select')[0].value;
var dorhouse=document.form1.house.value;
var str="area="+dorarea+"&house="+dorhouse;
ajax.send(str);
}
function checkhouse(){
var obj5=document.getElementById('hello');
if(!/^[0-9]#[0-9]{3}$/.test(document.form1.house.value)){
obj5.innerHTML="id format is not correct";
}else if(!show()){
obj5.innerHTML="this house is already registered";
}else{
obj5.innerHTML="hao";
return true;
}
}
function show(){
var helloobj=document.getElementById("hello");
ajax=createAjax();
ajax.onreadystatechange=function(){
if(ajax.readyState==4){
if(ajax.status==200){
var data=ajax.responseText;
alert(data);
if(data.replace(/^\s*|\s*$/g, '')=="ok"){
alert("jj");
return true;
}
}else{
alert("页面请求失败");
}
}
} ajax.open("post", "register.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var dorarea=document.getElementsByTagName('select')[0].value;
var dorhouse=document.form1.house.value;
var str="area="+dorarea+"&house="+dorhouse;
ajax.send(str);
}
if(!show()){
alert("true");
}
}
function show(){
return false;
}没有问题啊,这样测试是可以的,你确定已经alert("jj")了?function checkhouse(a){//改这
var obj5=document.getElementById('hello');
if(!/^[0-9]#[0-9]{3}$/.test(document.form1.house.value)){
obj5.innerHTML="id format is not correct";
}else if(!a){//改这
obj5.innerHTML="this house is already registered";
}else{
obj5.innerHTML="hao";
return true;
}
} function show(){
var helloobj=document.getElementById("hello");
ajax=createAjax();
ajax.onreadystatechange=function(){
if(ajax.readyState==4){
if(ajax.status==200){
var data=ajax.responseText;
alert(data);
if(data.replace(/^\s*|\s*$/g, '')=="ok"){
alert("jj");
checkhouse(1);//改这
}
}else{
alert("页面请求失败");
}
}
}
ajax.open("post", "register.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var dorarea=document.getElementsByTagName('select')[0].value;
var dorhouse=document.form1.house.value;
var str="area="+dorarea+"&house="+dorhouse;
ajax.send(str);
} 或者你做这样的改动试试能达到你要的效果不?
alert("页面请求失败");
checkhouse(0);//改这,分别作判断
}
就是把你的处理函数,写在这个地方。
ajax.open("post", "register.php", true);
把这个改为:
ajax.open("post", "register.php", false);