0

У меня есть действительно базовый фрагмент кода javascript, который работает в Internet Explorer, но не в Google Chrome. Вот линия, в которой он ломается:Фрагмент Javascript не работает в Chrome, но работает в Internet Explorer

var formChildren = document.getElementById('myForm').children; 

Это первая строка в моем скрипте. Ошибка, которую я получаю:

cannot read property 'children' of null. 

Кто-нибудь знает, если я что-то упустил? Я не могу себе представить, почему Chrome будет ошибаться на такой базовой линии.

Это часть проекта MVC 4, если это имеет значение.

Спасибо заранее!

+2

Сделайте console.log 'document.getElementById ('myForm')'. Означает ли он значение null? – Kyle

+1

Он работает в Chrome, по крайней мере, в упрощенной версии: http://jsfiddle.net/XRFAb/ – FishBasketGordo

ответ

0

Моя проблема решена. Да, я сделал дополнительное тестирование и понял, что смог успешно использовать getElementsByName в IE и Chrome, поэтому я взглянул и понял, что забыл добавить Id в форму. Было еще неожиданно, что IE знал, что это за элемент без идентификатора, но проблема решена.

Спасибо, Кайл и хак. Но ваш вход очень помог мне сузить мой ответ.

2

Хром фактически возвращает null в том случае, если он не может найти элемент с этим ID. Вы можете скрыть эту ошибку, используя (document.getElementById('myForm') || {}).children

+0

Это не исправляет ошибку - она ​​просто скроет ее – VitaliyG

+0

Справедливая точка. обновлено. – Hacknightly

Смежные вопросы