У меня есть форма, когда мои пользователи нажимают «отправить», я сначала хочу проверить, занято ли выбранное ими имя пользователя.Для этого я использую ajax:
function submit() {
if (userNameTaken()) {
alert("Please choose a username that is not already in use.");
return false;
}
}
function userNameTaken() {
var taken = false;
var username = $("#username").val();
$.get("username_used.cgi", { "username": username }, function(data) {
taken = data > 0;
});
return taken;
}
Так что я знаю, что когда берется имя пользователя, функция userNameTaken()
возвращает true.
Однако форма сохраняется в любом случае почти так, как если бы javascript не приостанавливал и не ждал завершения этого вызова ajax, а вместо этого продолжает работать и оценивать.Любые идеи о том, как решить эту проблему, так что моя форма будет ждать этого вызова ajax и не будет отправлять?