У меня проблема с Javascript, выполняющим вещи в порядке, который для меня не имеет смысла.Javascript Order Of Execution Issue
Что происходит следующая
var bValid = false;
alert(bValid + " 1");
if(validateForm() == TRUE)
{
$.get("submit_manageUsers.php",
{action: sendAct, userID: userID},
function(responseText)
{
if(responseText == "GOOD")
{
alert("Update Successful");
bValid = true;
alert(bValid + " 2");
}
else
{
alert(responseText + "\n Update Unsuccessful");
bValid = false;
}
},
"html"
);
bvalid = true;
alert(bValid + " 3");
}
alert(bValid + " 4");
if(bValid == true)
{
//do something
}
alert(bValid + " 5");
EDIT: добавлено немного больше того, что на самом деле происходит в случае, если это помогает, вероятно, будет знать, как я делаю вещи!
Выхода из приведенной выше коды выглядит следующим образом:
ложных 1
ложных 2
ложных 4
ложных 5
истинного 3.
проблема в том, что if(bValid == true)
i s выполняется до if(validateForm() == TRUE)
, поэтому это означает, что bValid всегда false.
Почему эта часть кода выполняется перед другой частью?
Любая помощь на это очень ценится!
что такое значение «ИСТИНА»? – Jimmy
TRUE - это функция, возвращающая функцию validateForm(), чтобы установить для переменной bValid значение TRUE. – Adam
Создайте http://jsfiddle.net/, который производит этот вывод. Если 'TRUE' не определен, код будет просто терпеть неудачу и не приведет к дальнейшему выходу. Если он определен, выход будет отличаться. С моей точки зрения, порядок вывода невозможен. –