Я выполняю некоторое кодирование обслуживания в веб-приложении и получаю ошибку javascript в форме: «[elementname] не имеет свойств»
Часть кода генерируется на лету с помощью вызова AJAX, который изменяет innerHTML для части страницы, после того, как это закончено, мне нужно скопировать часть данных из скрытого поля ввода в видимое поле ввода.
Итак, у нас есть поле назначения: <input id="dest" name="dest" value="0">
И поле источника: <input id="source" name="source" value="1">
Теперь, когда ajax запускается, он перезаписывает innerHTML div, в котором находится источник, поэтому поле источника теперь выглядит так: <input id="source" name="source" value="2">
Хорошо, после строки javascript, которая копирует данные ajax во innerHTML, следующая строка:
document.getElementById('dest').value = document.getElementById('source').value;
Я получаю следующую ошибку: Error: document.getElementById("source") has no properties
(я тоже пробовал document.formname.source
и document.formname.dest
и та же проблема)
Чего мне не хватает?
Примечание 1: страница полностью загружена и элемент существует. Вызов ajax происходит только после действия пользователя и заменяет HTML-раздел, в котором находится элемент.
Примечание 2. Что касается неиспользования innerHTML, то именно так мне и была передана кодовая база, и для ее удаления мне нужно было бы переписать все вызовы ajax, что не входит в объем текущего цикла обслуживания.
Примечание 3: innerHTML обновляется новыми данными, копируется вся таблица с данными и форматированием, я пытаюсь добавить логическое значение в конец этого большого чанка, вместо того, чтобы создавать новый вызов ajax для одного логическое значение. Похоже, это то, что мне придется сделать ... так как мой хак в конце, то метод копирования не работает.
дополнительная пара глаз FTW.
Да, у меня была пара парней, которые посмотрели здесь на работе, и они обнаружили мою простую ошибку при печати ... Клянусь, у меня были права с самого начала, но эй, мы живем и учимся ...
Спасибо за помощь, ребята.