Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Доступ к элементам формы в цикле с рекурсией 
:(
    Опции темы
ladjack
Дата 8.9.2008, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.8.2008

Репутация: нет
Всего: нет



Доброго ))
Суть такова: есть форма с id="edit", в ней fieldset, в нем необходимые элементы.
При заполнении полей форма отправляется на проверку, если есть эрроры, страница перегружается и показываем какие ошибки...ну это вводная )) я повесил на 'onLoad' боди функц.
Код

function checkLocations() {
    var frm = document.getElementById("edit");
    
    for (var obj = frm.firstChild; obj ; obj = obj.nextSibling) {
          if(obj.type == "checkbox") {
            if(obj.checked) {
                alert('hell');
            }
          }
    }
}

цикл доходит до fieldset'a и дальше элем.ы формы не обходит. Если филдсет выкинуть - все ок. Элементы внутри филдсета динамические. Как можно проходить и по елем.ам кот., внутри филдсета таким циклом ? Спс ))
PM MAIL   Вверх
IDVsbruck
Дата 10.9.2008, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



У элемента (объекта) form нет метода firstChild, это можно посмотреть на W3C или MSDN.
Зато у формы есть коллекции all, childNodes, children, elements. Видимо, тебе будет удобней использовать последний, так как он дает коллекцию элементов, то есть исключая любые неэлементные теги (к примеру, скрипты или библиотечные включения). Правда, в описании сказано, что также не будет включен элемент input type=image, но вряд ли он тебе нужен.

Есть более красивый и удобный для пользователя способ проверки: создаем ассоциативный массив значений (var data = []; data["element1"] = element1_value; и т.д.) и отсылаем посредством асинхронного запроса на сервер, где значения проверяются и возвращаются клиенту. Соответственно, если ошибка, то передается текст ошибки и на какой элемент ссылаться - например, при невведенном поле будет фокусироваться на данном поле и в какой-то строке статуса/окошке покажется текст ошибки. В противном случае будет переход на следующую страницу. Реализация простейшая, но удобство налицо.
PM MAIL   Вверх
ladjack
Дата 10.11.2008, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.8.2008

Репутация: нет
Всего: нет



пасиба, ужо заборол  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.