Я пытаюсь выполнить ajax-проверку доступности имени пользователя и отправляю форму, только если имя пользователя доступно.
Используя плагин jQuery Validation, я установил:
submitHandler: function(form) {
if (ajaxCheck() == true){
alert('true');
}
}
И моя функция проверки имени пользователя выглядит следующим образом:
function ajaxCheck(){
usernameVal = $("#username").val().toLowerCase();
usernameVal = usernameVal.replace(/[\s\W]/g, '');
$.post("/app/signup/username/", {
username: usernameVal
}, function(response){
if (response == "Username not available.") {
$("#signup").validate().showErrors({ "username" : "Username Not Available." });
alert('false');
return false;
} else {
alert('true');
return true;
}
});
}
Проблема в том, что он не возвращает истину или ложь submitHandler. Я не уверен, что это потому, что операторы return находятся в $ .post?
Если я запускаю ajaxCheck независимо, он предупреждает false и true в зависимости от доступности, он просто не возвращает false / true, если он вызван submitHandler.
Любые идеи приветствуются.