Я долго искал, но безрезультатно.
В длинной форме я делаю проверки с помощью javascript и использую атрибут "onchange" для их выполнения. Недавно я обнаружил, что в IE следует использовать атрибут «onpropertychange», так как событие «onchange» обрабатывается неправильно.
Итак, теперь у меня есть, например, поле такого типа (не все поля имеют события onKeyDown или onKeyUp):
<textarea name="shdescription" rows="1" cols="75" onKeyDown="textCounter(this,'shdesccounter',65)"
onKeyUp="textCounter(this,'shdesccounter',65)" onchange="checkFormValue();" onpropertychange="checkFormValue();"></textarea>
И теперь каждый раз, когда я вносю изменение в поле, требуется несколько секунд, чтобы зарегистрировать изменение и выполнить проверку. (и больше, когда изменение сделано в текстовой области, которую я описал.)
Запустив отладчик IE F12, я заметил, что много "SCRIPT28: недостаточно места в стеке" и "SCRIPT2343: переполнение стека в строке:" сработало. Пошагово выполняя скрипт, я заметил, что скрипт зацикливается между двумя разными вызовами ajax PHP-скриптов. Я не уверен, что на самом деле мы можем говорить о рекурсии, поскольку я не вижу прямой связи между двумя функциями.
Таким образом, я могу думать только о двух возможностях: либо есть изменение, инициируемое в поле, которое снова вызывает вызов ajax, либо я делаю что-то не так с моими вызовами ajax.
Куда мне обратиться, чтобы решить мою проблему? Если вам нужна дополнительная информация, не стесняйтесь спрашивать.
PS: У меня нет таких проблем с FF / Chrome / Opera.