Может ли кто-нибудь сказать мне, как вернуть значение 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;
}
Вышеуказанная функция срабатывает, когда вы нажимаете submit в регистрационной форме (как это должно быть очевидно). Проблема в том, что эта форма отправляется независимо от того, что ответ, а поле предупреждения иногда ничего не показывает [пусто], иногда вообще не отображается. Однако, если я изменил окончание status на false вручную [т. замените status на false], в поле предупреждения появится правильное значение.
P.S. Я хуже, чем noob в javascript, поэтому предложения по обычному улучшению кода также приветствуются.
