Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
ZooY
Зарегистрирован: 15.01.2002 Сообщения: 210 Откуда: Россия, Москва
|
Добавлено: Ср Авг 24 2005 15:49 Заголовок сообщения: JavaScript: доступ к динамически созданным элементам |
|
|
На JavaScript на страницу динамически, через innerHTML добавляю элементы (<INPUT type=Text id=Name>)
Как получить доступ к этим элементам? |
|
Вернуться к началу |
|
|
shadow_warlock
Зарегистрирован: 08.12.2004 Сообщения: 14
|
Добавлено: Ср Авг 24 2005 22:26 Заголовок сообщения: |
|
|
как и обычно по Id. Но может быть не определено до загрузки всего документа. |
|
Вернуться к началу |
|
|
ZooY
Зарегистрирован: 15.01.2002 Сообщения: 210 Откуда: Россия, Москва
|
Добавлено: Чт Авг 25 2005 10:17 Заголовок сообщения: |
|
|
По ID не получается |
|
Вернуться к началу |
|
|
mpakmopucm
Зарегистрирован: 24.12.2002 Сообщения: 58 Откуда: Москва
|
Добавлено: Вт Авг 30 2005 16:17 Заголовок сообщения: |
|
|
Этос смотря чем пользоваться и смотря как. IE поддкрживает id, netscape - name (или наоборот, не помню.) Поэтому есть более универсальный способ: писать и id, и name (причем, с идентичными значениями)
Код: | <INPUT type=Text id='Name' name='Name'> |
A для доступа пользоваться конструкцией
Код: | myBtn=document.getElementById ('Name'); |
(Следите за руками... Тьфу, блин, за регистром ) |
|
Вернуться к началу |
|
|
ZooY
Зарегистрирован: 15.01.2002 Сообщения: 210 Откуда: Россия, Москва
|
Добавлено: Ср Авг 31 2005 09:45 Заголовок сообщения: |
|
|
Я работаю с IE, но все рано доступ то ID не получается
Может я имя неправильно указываю, я пищу так
Код: | document.all.tblName.Name |
|
|
Вернуться к началу |
|
|
mpakmopucm
Зарегистрирован: 24.12.2002 Сообщения: 58 Откуда: Москва
|
Добавлено: Ср Авг 31 2005 10:03 Заголовок сообщения: |
|
|
А что дальше ПИЩИШЬ? В смысле, как обрабатываешь? |
|
Вернуться к началу |
|
|
ZooY
Зарегистрирован: 15.01.2002 Сообщения: 210 Откуда: Россия, Москва
|
Добавлено: Ср Авг 31 2005 10:10 Заголовок сообщения: |
|
|
Для начала я хочу хотябы убедится что есть доступ к объекту
Код: | alert(document.all.tblName.Name); |
Если все нормально то я должен нолучить строку "[object]", а получаю "undefined" |
|
Вернуться к началу |
|
|
mpakmopucm
Зарегистрирован: 24.12.2002 Сообщения: 58 Откуда: Москва
|
Добавлено: Ср Авг 31 2005 10:43 Заголовок сообщения: |
|
|
Во-первых, независимо от структуры конструкции, в которую упакованы твои инпуты, если у инпута есть свой собственный идентификатор, можешь обращаться к нему напрямую:
Код: | alert(document.all.Name); |
Но так ты немало пользователей отсечешь. Универсальнее все же через
Код: | myBtn=document.getElementById ('Name');
alert (myBtn); |
а если хочешь обратиться через структуру объектов, то это как-то по-другому делается.
А во, вторых, ты уверен, что обрабатываешь кнопку ПОСЛЕ ее создания?
P.S. И еще. Так, на всякий случай. Идентификатор Name очень похож на свойство name, так что лучше добавить еще несколько буковок к нему, чтобы однозначно не путать со свойством объекта. |
|
Вернуться к началу |
|
|
Mytilus Galloprovincialis
Зарегистрирован: 30.08.2005 Сообщения: 358 Откуда: откуда все люди родятся
|
Добавлено: Пт Сен 02 2005 15:04 Заголовок сообщения: |
|
|
А не проще ли так:
Код: |
var v;
function xxx {
v = document.createElement("input");
v.type = "text"; // хотя это не обязательно.
//"text" - значение по умолчанию.
document.body.appendChild(v);}
|
Тогда ты всегда сможешь обратиться к объекту через v. |
|
Вернуться к началу |
|
|
|