Блин, неоднократно взорвал себе мозг, нечего не понимаю, офигеть я чайник
В функции запускается ajax запрос, условие if() - это выдергивание нужного ответа сервера, т.е.
function func(x) {
switch(x) {
.....
case "1":
...
XMLHttp.onreadystatechange = function() {
if (XMLHttp.readyState == 4) {
if (XMLHttp.status == 200) {
if (XMLHttp.responseText == "FAIL") {
alert("Ошибка"); return false;
}
}
}
}
break;
.....
}
}
Alert вылазит, но форма все равно отправляется, как будто return false; вовсе нет.
Попробывал так:
function func(x) {
switch(x) {
.....
case "1":
...
XMLHttp.onreadystatechange = function() {
if (XMLHttp.readyState == 4) {
if (XMLHttp.status == 200) {
if (XMLHttp.responseText == "FAIL") {
alert("Ошибка"); x = false;
}
else { x = true; }
}
}
}
break;
.....
}
return x;
}
Но за пределами XMLHttp.onreadystatechange = function() переменная x неопределена
Как заставить работать эту конструкцию ?