有人能告诉我如何将 的值status
作为函数的返回值返回。
function checkUser() {
var request;
var status = false;
//create xmlhttprequest object here [called request]
var stu_id = document.getElementById("stu_id").value;
var dName = document.getElementById("dName").value;
var fileName = "check_user.php?dName=" + dName + "&stu_id=" + stu_id;
request.open("GET", fileName, true);
request.send(null);
request.onreadystatechange = function() {
if (request.readyState == 4) {
var resp = parseInt(request.responseText, 10);
if(resp === 1) {
alert("The display name has already been taken.");
status = false;
}
else if(resp === 2) {
alert("This student ID has already been registered");
status = false;
}
else if(resp === 0) {
status = true;
}
}
}
return status;
}
当您在注册表单中点击提交时会触发上述功能(必须很明显)。问题是,无论响应是什么,此表单都会提交,并且警告框有时不显示任何内容 [空白],有时根本不显示。但是,如果我将结尾更改status
为false
手动 [即替换status
为false
],警报框中会显示正确的值。
PS我比javascript中的菜鸟更糟糕,所以也欢迎关于总体改进代码的建议。