Обновленный ответ
Согласно Документам Mozilla , вы не используете onreadystatechange
для синхронных запросов.Какой вид имеет смысл, поскольку запрос не возвращается до тех пор, пока состояние готовности не станет равным 4 (завершено), хотя я, вероятно, не разработал бы его таким образом.
Оригинальный ответ
Ненемедленно увидев дымящийся пистолет, но: ваша переменная ajax
не определена внутри функции, и поэтому вы почти наверняка перезаписываете ее на каждой итерации цикла в sprawdzstan
.Будет ли это проблемой , еще неизвестно, поскольку вы используете синхронный вызов ajax.В любом случае добавьте var ajax;
к checkstate
, чтобы убедиться, что вы не стали жертвой Ужаса неявных глобалов .
Не по теме: Если вы можете найти способ изменить свой дизайн, чтобы не использовал синхронный запрос ajax, настоятельно рекомендуем сделать это.Синхронные запросы блокируют пользовательский интерфейс браузера (в большей или меньшей степени в зависимости от браузера, но многие - большинство? - полностью блокируются, включая другие не связанные вкладки).Вместо этого почти всегда можно выполнить рефакторинг и использовать асинхронный запрос.
Не по теме 2 : вы не используете mouseEvent
в своем коде, но если вы это сделаете, вы захотитеизбавиться от этих javascript:
префиксов в атрибутах onmouseover
и onmouseout
.Эти атрибуты не являются URL-адресами, префикс не является (там) спецификатором протокола (это метка, которую вы не используете).