Массив элементов
Строки формируются пользователем динамически с помощью DOM + JavaScript.
Ячейки таблицы содержат элементы ввода.
Всем элементам даны такие имена: "elem[]"
Форма отсылается в PHP скрипт. Там я могу получить доступ к значениям элементов ввода как к массиву, т.е. $elem[0], $elem[1] ...
Можно ли нечто подобное выполнить на клиентской стороне с помощью JavaScript?
Пробовал делать так:
document.all.elem.value
не проходит.
Или единственный выход это перебирать все дочерние элементы таблицы и выбирать из них нужные?
На странице содержится форма и в ней таблица.
Строки формируются пользователем динамически с помощью DOM + JavaScript.
Ячейки таблицы содержат элементы ввода.
Всем элементам даны такие имена: "elem[]"
Форма отсылается в PHP скрипт. Там я могу получить доступ к значениям элементов ввода как к массиву, т.е. $elem[0], $elem[1] ...
Можно ли нечто подобное выполнить на клиентской стороне с помощью JavaScript?
Пробовал делать так:
document.all.elem.value
не проходит.
Или единственный выход это перебирать все дочерние элементы таблицы и выбирать из них нужные?
Поскольку в имени используются специальные символы - перебор в данном случае единственный выход.
И еще - document.all работает только в IE, вместо него тебе необходимо пользоваться стандартной конструкцией:
var form = document.getElementById('yourFormID');
for (elm in form)
{
// Здесь перебор элементов формы
};
Поскольку в имени используются специальные символы - перебор в данном случае единственный выход.
И еще - document.all работает только в IE, вместо него тебе необходимо пользоваться стандартной конструкцией:
var form = document.getElementById('yourFormID');
for (elm in form)
{
// Здесь перебор элементов формы
};
Спасибо. Кстати в Opera 6 document.all так же работает.
Кстати почитал MSDN и нашел еще один метод:
var coll = document.all.my_table.all.tags"INPUT");
for (i=0;i<coll.length;++i) {
alert(coll(i).value);
}
Спасибо. Кстати в Opera 6 document.all так же работает.
Кстати почитал MSDN и нашел еще один метод:
var coll = document.all.my_table.all.tags"INPUT");
for (i=0;i<coll.length;++i) {
alert(coll(i).value);
}
document.all работает в Opera только в режиме "эмуляции" IE. В Gecko-powered (Mozilla, Netscape 6/7, Galeon, Phoenix, Camino и т.п.) и KHTML-powered (Konqueror, Safari) браузерах это работать не будет.
По проводу "еще одного метода" - это также использование пресловутого document.all. Советую тебе вместо MSDN почитать спецификации DOM Level 1 (http://www.w3.org/TR/REC-DOM-Level-1) и DOM Level 2 (http://www.w3.org/DOM/DOMTR#dom2) - тогда твой код будет работать во всех браузерах. Кроме того очень меого отличного материала можно найти на http://www.zvon.org
document.all работает в Opera только в режиме "эмуляции" IE. В Gecko-powered (Mozilla, Netscape 6/7, Galeon, Phoenix, Camino и т.п.) и KHTML-powered (Konqueror, Safari) браузерах это работать не будет.
По проводу "еще одного метода" - это также использование пресловутого document.all. Советую тебе вместо MSDN почитать спецификации DOM Level 1 (http://www.w3.org/TR/REC-DOM-Level-1) и DOM Level 2 (http://www.w3.org/DOM/DOMTR#dom2) - тогда твой код будет работать во всех браузерах. Кроме того очень меого отличного материала можно найти на http://www.zvon.org
Спасибо большое за ответ и за ссылки. Как раз вопросы совместимости меня и волновали.