Chrome и Firefox по-разному обрабатывают JavaScript/HTML

Итак, самая странная вещь произошла здесь. У меня есть php-файл с Javascript для записи на элементы, основанные на событиях на веб-странице. И есть 3 HTML-формы на странице. Один представляет собой окно поиска, один скрывает все входные данные и отправляется для определенного события, а один представляет собой текстовое поле и кнопку, при нажатии на которую javascript записывает текст в определенный элемент на странице. Кроме того, эта третья форма сама записывается в документ с помощью JavaScript при нажатии другой кнопки. Проблема заключается в том, что при выполнении определенных операций с этой третьей формой мне нужно ссылаться на одно из его входных значений (newSkillName).

Так что для этой третьей формы, в Chrome-

document.forms [1].newSkillName.value

работает, пока в Firefox-

document.forms [2].newSkillName.value

работает.

Мне, однако, удалось исправить код. Но мне все еще любопытно. Почему Chrome и Firefox по-разному обрабатывают отклонения? Любая идея?

2 ответа

Решение

Присвойте элементам формы уникальные атрибуты идентификатора и свяжите их с document.getElementById(id).

Вы также можете использовать атрибут NAME и ссылаться на форму по имени document.forms["name_of_form"];

Быстрый обходной путь / устранение проблемы заключается в том, чтобы охотиться по полю в DOM другим способом. Например, с id='NewSkillName' используйте document.getElementById('NewSkillName').value,

Другие вопросы по тегам