Я уверен, что я буду ненавидеть себя, когда узнаю, в чем проблема, но я не могу для жизни понять, почему это не сработает. Я использую setTimeout в другом месте на сайте так же, как это, и он работает нормально.window.setTimeout Not Firing
<input type='button' value='Submit Form' onclick='ValidateForm()'/>
var submitFinalTimeout;
function ValidateForm() {
//Performing a number of validations which may return false;
//I know that the following if condition evaluates as true. But just for giggles I tried moving it outside of the if and it still never fires.
if (types.indexOf("K2") != -1) {
submitFinalTimeout = window.setTimeout(function() { alert("Timeout set"); }, 2000);
validateK2();
return true;
}
return true;
}
Когда я говорю проверить, я имею в виду я предупреждая использование, если проблема найдена и возвращает ложь, чтобы не допустить проверки от продолжения. Возвращаемые значения true или false не влияют на то, являются ли сообщения страниц.
Я попытался также удалить все остальное внутри фигурных скобок, чтобы гарантировать, что никакой другой код не противоречит ему. Я буквально пытался удалить ВСЕ другой код с помощью функции ValidateForm, кроме setTimeout, и он все равно никогда не срабатывает.
Я видел аналогичный пост, где проблема была связана с другой ошибкой javascript на странице, препятствующей ее работе. Но ни моя консоль разработчика в Chrome, ни firebug не показывает никаких ошибок или каких-либо данных на странице. Несколько предупреждений об интерпретации изображения.
Как 'ValidateForm' называется? – epascarello
Вы создали журнал, чтобы проверить, что 'ValidateForm()' is * на самом деле * вызывается? – ahren
Кнопка onclick. – jmease