|
|
|
(JS) Динамическое изменение значений в элементах формы.
|
|||
|---|---|---|---|
|
#18+
Привет! Возможно ламерский вопрос, но чего-то не догоняю. Есть форма, в ней различные элементы input, textarea и т.д. Некоторым элементам назначены дополнительные функциональные кнопочки для вызова диалогов, которые в свою очередь возвращают значения в "свой" элемент формы. Почему не работает такой способ обращения к элементам: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. <input id="field_name" ...> и document.getElementById('field_name').value использовать нельзя, т.к. на странице имена с такими идшниками уже заняты для строк таблицы <tr id="field_name"> (строки тоже играют роль в представлении страницы). Существует ли другой способ обращения к элементам формы, зная его имя? Пока все, что пришло в голову это: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 10:58 |
|
||
|
(JS) Динамическое изменение значений в элементах формы.
|
|||
|---|---|---|---|
|
#18+
есть такая замечательная функция GetElementById ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 11:04 |
|
||
|
(JS) Динамическое изменение значений в элементах формы.
|
|||
|---|---|---|---|
|
#18+
Damnedestесть такая замечательная функция GetElementById Berkut<input id="field_name" ...> и document.getElementById('field_name').value использовать нельзя, т.к. на странице имена с такими идшниками уже заняты для строк таблицы <tr id="field_name"> (строки тоже играют роль в представлении страницы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 11:09 |
|
||
|
(JS) Динамическое изменение значений в элементах формы.
|
|||
|---|---|---|---|
|
#18+
Начнем с того что если у вас есть 2 элемента на странице с одинаковыми id то это уже ошибка для JS при обращении к одному из них. Делайте названия уникальными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 11:12 |
|
||
|
(JS) Динамическое изменение значений в элементах формы.
|
|||
|---|---|---|---|
|
#18+
можно обращаться к элементу через форму еще... Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 11:13 |
|
||
|
(JS) Динамическое изменение значений в элементах формы.
|
|||
|---|---|---|---|
|
#18+
Можно обращаться по имени к элементу. НО так как нет единой объектной модели для всех броузеров, то в одних скрипт будет работать, в других - нет. Вариантов решений вижу несколько: 1. getElementById - на мой взгляд - идеальный вариант, раздать уникальные ID не считаю проблемой. 2. Для каждого броузера с его объектной моделью написать свой скрипт. И сделать проверку, какой броузер пользует клиент и выдавать ему скрипт под его броузер. - не самое удачное решение, потому что мало того, что несколько объектных моделей, так еще у каждого броузера свои грабли. P.S. Так и не понял, в чем вопрос ;))) ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 11:31 |
|
||
|
(JS) Динамическое изменение значений в элементах формы.
|
|||
|---|---|---|---|
|
#18+
DamnedestНачнем с того что если у вас есть 2 элемента на странице с одинаковыми id то это уже ошибка для JS при обращении к одному из них. Делайте названия уникальными. Я знаю, что это ошибка для JS, поэтому собсно и создал данный топик. Придумывать велосипед с переименованием полей сейчас нет ни времени, ни желания. Плюс ко всему, форма генерится динамически и все имена, атрибуты тегов и т.п. также назначаются динамически для каждого элемента по его спецификации. Damnedestможно обращаться к элементу через форму еще... document.forms.NAME.ELEMENT Damnedest , ничего личного, но читайте внимательнее: DamnedestСуществует ли другой способ обращения к элементам формы, зная его имя ? Если вы имели в виду индексный доступ к элементу с помощью массива elements, то это не подходит ;) Кроме того, вы уверены, что document.forms.NAME.ELEMENT - это действительно верно? В контексте данного топика (и не только), document.forms.foo.element.field_name, по-моему бред. P.S. Если я вас не так понял, то напишите конкретно пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 11:42 |
|
||
|
(JS) Динамическое изменение значений в элементах формы.
|
|||
|---|---|---|---|
|
#18+
Попытаюсь еще раз... :) Форма генерится динамически. Строки примерно в таком виде (необязательно элемент textarea): Код: plaintext 1. 2. 3. 4. 5. 6. 7. По нажатию кнопки вызывается диалог выбора полей из таблицы, и значение должно возвращаться в document.form_name.m_select_fields.value. Менять имена сейчас накладно, т.к. на форме вываливается порядка 50-60 элементов в зависимости от параметров, настраиваемых пользователем. Чтобы форма не казалась такой громоздкой часть строк по умолчанию скрыта (имитация закладок). Для этого и служит обращение к строкам таблицы с помощью getElementById, чтобы менять видимость. Раньше обращение было проще и проблем не возникало. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 12:02 |
|
||
|
(JS) Динамическое изменение значений в элементах формы.
|
|||
|---|---|---|---|
|
#18+
Как только запостил предыдущее сообщение, понял что нужно исправить! Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 12:05 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33542833&tid=1476757]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 511ms |

| 0 / 0 |
