Ошибка, если элемент в форме не существует.

 
0
 
JavaScript
ava
tolik777 | 20.08.2007, 18:42

if((document.getElementById('add_note').tpl_text.value) || (document.getElementById('add_note').text_note.value)){
document.getElementById('frmgoods').tpl_text.value = document.getElementById('add_note').tpl_text.value;
document.getElementById('frmgoods').text_note.value = document.getElementById('add_note').text_note.value;
}

Есть скрипт на PHP. В HTML выводится одна или 2 формы в зависимости от условий. Проблема в том, что если формы 'add_note' нет, т.е. она не выводиться. То в IE выводиться ошибка и форма не передается.
Не пойму почему. И как это исправить или обойти?
Comments (1)
ava
Mymik | 20.08.2007, 21:49 #
tolik777, а что тебе непонятно ??? т.е. смотри, ты получаешь объект document.getElementById('add_note') и если его нет то ты получаешь null а потом у этого null пытаешь обратиться к полю tpl_text или к полю text_note это уже будет ошибка. Но ты еще дальше идешь и еще спрашиваешь у них value
Потому лучше пойти так

var noteForm = document.getElementById('add_note');
if(noteForm)
if((noteForm.tpl_text.value) || (noteForm.text_note.value)){
document.getElementById('frmgoods').tpl_text.value = noteForm.tpl_text.value;
document.getElementById('frmgoods').text_note.value = noteForm.text_note.value;
}
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  Mymik   tolik777
advanced
Submit