Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.10.2008, 21:52
Новичок на форуме
Отправить личное сообщение для Period Посмотреть профиль Найти все сообщения от Period
 
Регистрация: 15.10.2008
Сообщений: 5

Обращение к полю SPAN на форме
Есть форма, примерно такая:


<form method=POST name=img>
    <input type=text name=txt1>
    <input type=submit value=Отправить>
    <span id=test></span>
</form>



Как мне переписать элемент SPAN внутри неё? innerHTML самой формы менять нельзя. document.getElementById тоже не получится использовать.

Нужно что-то типа такого: "document.forms['img'].test.innerHTML = ...", только чтобы работало.
Ответить с цитированием
  #2 (permalink)  
Старый 15.10.2008, 22:07
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Не совсем понял, что Вы хотите сделать, если просто перезаписать innerHTML тега <span> c идентификатором test, то достаточно написать так:
document.getElementById('test').innerHTML = 'какой-то html-код';

Если Вы хотите заменить весь узел <span id="test" /> на какой-то другой, то тут 2 варианта:
1. Удалить <span> и вставить новый узел:
var form = получаем_ссылку_форму;
form.removeChild(document.getElementById('test'));
var newNode = document.createElement('имя_тега_нового_узла');
form.appendChild(newNode);

2. Заменить <span> на новый узел
var form = получаем_ссылку_форму, newNode = document.createElement('имя_тега_нового_узла'), span = document.getElementById('test');
form.replaceChild(span, newNode);
Ответить с цитированием
  #3 (permalink)  
Старый 15.10.2008, 22:12
Новичок на форуме
Отправить личное сообщение для Period Посмотреть профиль Найти все сообщения от Period
 
Регистрация: 15.10.2008
Сообщений: 5

Нет, мне нужно вставлять в конкретный span произвольный html.

document.getElementById('test').innerHTML = 'какой-то html-код';


Такой вариант не подходит из-за того, что на странице много форм с такими спанами. Они создаются динамически и их количество наперёд неизвестно, а мне нужно изменить span в конкретной форме.
Ответить с цитированием
  #4 (permalink)  
Старый 15.10.2008, 22:20
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Вообще-то идентификатор должен быть уникальным, поэтому нельзя создавать несколько <span> с одинаковым идентификатором на одной странице.
Ответить с цитированием
  #5 (permalink)  
Старый 15.10.2008, 22:26
Новичок на форуме
Отправить личное сообщение для Period Посмотреть профиль Найти все сообщения от Period
 
Регистрация: 15.10.2008
Сообщений: 5

А можно создать такой массив?
<span id=test[]></span>


Его нумерация всегда будет соответствовать массиву форм?
<form method=POST name=img[]><span id=test[]></span></form>
Ответить с цитированием
  #6 (permalink)  
Старый 15.10.2008, 22:43
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Нет, идентификаторы так именовать нельзя.
Заведите, например, себе правило, что <span> в формах будет использоваться только для этих целей и получайте его, например так:
ссылка_на_форму.getElementsByTagName('span')[0].innerHTML = 'какой-то html-код';

Или например для всех таких <span> задайте один и тот же класс и обращайтесь по нему:
<form action="">…<span class="test">…</span>…</form>

ссылка_на_форму.getElementsByClassName('test')[0].innerHTML = 'какой-то html-код';

Но метод «getElementsByClassName» работает только в новых браузерах, нужно будет написать функцию, которая выполнить тоже самое в старых браузерах.

Последний раз редактировалось Octane, 15.10.2008 в 22:45.
Ответить с цитированием
  #7 (permalink)  
Старый 15.10.2008, 23:09
Новичок на форуме
Отправить личное сообщение для Period Посмотреть профиль Найти все сообщения от Period
 
Регистрация: 15.10.2008
Сообщений: 5

Это чудо. Первый вариант заработал. Спасибо большое.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к форме октрытого окна SparkDSD Events/DOM/Window 3 27.02.2009 14:02