 |
 |
Форум сетевых администраторов » Программирование » Java/Java Scripts » Доступ к объектам создаваемым на лету
| Автор |
| Тема |
 |
|
 |
|
|
|
Администратор
|
| Доступ к объектам создаваемым на лету |
[сооб. #78141]
28-08-2005 01:15 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
Ситуация такая: Есть на странице группа чекбоксов, у каждого уникальный ID типа cb_n_nn
n - уникальное число группы
nn - id элемента
Посредствам JS из списка можно выбрать опции которые налету прибавляют к существующим чекбоксам дополнительные. Для добовления используется innerHTML. Проблема в том что нужно получить доступ к объектам чекбокса, для этого используем
document.getElementById(cb_n_nn)
Все хорошо работает с теми боксами которые существуют уже в страничке а вот к новым, которые были добавленны потом при помощи JS доступа нет, как-будто их не существует. Как с этим бороться?
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
28-08-2005 01:15 |
|
|
Модератор
|
| Если попытка доступа буквально в той же ф-ии... |
[сооб. #78142]
28-08-2005 01:57 |
|
Модератор


Зарегистрирован: Mar 2002
Место проживания: Россия
Публикаций: 769
Статус:  |
Если попытка доступа буквально в той же ф-ии что и создание, то не лишним попробовать setTimeout(). Возможно объекты просто не успели создаться.
__________________
The time was broken ...
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
28-08-2005 01:57 |
|
|
Администратор
|
| В тойже функции, но уже при повторном вызове.... |
[сооб. #78144]
28-08-2005 02:04 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
В тойже функции, но уже при повторном вызове. Ð_то вообще нужно для того чтобы проверить выбран ли бокс и если выбран то при обновлении списка вывести выбранные тоже с галочкой. Кстати, забыл сказать: объекты создаються обычным html, в этом наверное и проблема. Есть ли в таком случае возможность обратится к ним?
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
28-08-2005 02:04 |
|
|
Модератор
|
| Я вообще припоминаю что ИЕ не понимал объекты... |
[сооб. #78145]
28-08-2005 02:12 |
|
Модератор


Зарегистрирован: Mar 2002
Место проживания: Россия
Публикаций: 769
Статус:  |
Я вообще припоминаю что ИЕ не понимал объекты созданные через DOM, но с inner/outer html вроде всё было в порядке.
__________________
The time was broken ...
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
28-08-2005 02:12 |
|
|
Администратор
|
К сожелению нет . Ни ИЕ ни firefox их не видит.... |
[сооб. #78146]
28-08-2005 02:43 |
|
|
Модератор
|
| Даже gecko не видит? Странно. И какую ошибку он... |
[сооб. #78152]
28-08-2005 11:01 |
|
|
Администратор
|
| нет ошибок, ну конечно я проверяю существует... |
[сооб. #78153]
28-08-2005 11:32 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
нет ошибок, ну конечно я проверяю существует ли объект, но если допукать ошибку то выдает:
var_name has no properties
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
28-08-2005 11:32 |
|
|
Модератор
|
| Так это не ошибка доступа, а отсутствие объекта.... |
[сооб. #78155]
28-08-2005 13:13 |
|
Модератор


Зарегистрирован: Mar 2002
Место проживания: Россия
Публикаций: 769
Статус:  |
Так это не ошибка доступа, а отсутствие объекта. Скорей всего ты где-то ошибся в ID или объект не был создан вообще.
В частности gecko-браузеры вообще не имеют свойства innerHtml. Его надо реализовывать дописывая прототип для HTMLElement.
__________________
The time was broken ...
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
28-08-2005 13:13 |
|
|
Администратор
|
| RaZEr никаких ошибок нет, уже повторно с... |
[сооб. #78164]
28-08-2005 19:46 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
RaZEr никаких ошибок нет, уже повторно с этим сталкиваюсь. прототип создан и innerHtml работает прекрасно. Потом при выводе массива _POST все данные созданные динамически через JS присудствуют.
polo добавил 28-08-2005 в 20:22:05:
Вот пример того что я пытаюсь сделать:
code:
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
28-08-2005 19:46 |
|
|
Модератор
|
quote: RaZEr никаких ошибок нет
Как сказать... |
[сооб. #78165]
28-08-2005 20:43 |
|
Модератор


Зарегистрирован: Mar 2002
Место проживания: Россия
Публикаций: 769
Статус:  |
quote: RaZEr никаких ошибок нет
Как сказать ... ты создаёшь объет с id=comment:
obj.id = 'comment';
а потом выбираешь по id=input:
obj = document.getElementById('input');
__________________
The time was broken ...
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
28-08-2005 20:43 |
|
|
Администратор
|
| Ты прав, это ошибка. Чтож у меня на странице... |
[сооб. #78166]
28-08-2005 20:54 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
Ты прав, это ошибка. Чтож у меня на странице не работает? Пойду разбираться.
polo добавил 28-08-2005 в 21:43:23:
Тьфу ты блин, всему виной была функция которая осуществляла получение объекта. Некорректно работала с созданными объектами. Тему можно считать закрытой.
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
28-08-2005 20:54 |
|
|
|
Формат времени GMT. Текущее время 14:27.
|
Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения. |
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
|
|
|
|
| |
Page generated in 0.01149797 seconds (49.90% PHP - 50.10% MySQL) with 26 queries.
|
 |