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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перебор всех елементов формы, по масиву document.form1.elements 
:(
    Опции темы
Wiedzmin
Дата 22.9.2006, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как перебрать все елементы формы и выделить их значения (например, сделать запрос вида ?&поле1=значение1&поле2=значение2&...)? В общем свойства type нету, а чекбоксы, текстовые поля, скрытые поля, селекты и тд отличаются расположением значения.

Вариант работает, самое интересное, что скрытые поля имеют атрибут checked, и им надо прописывать "<input type=hidden ... CHECKED>" (тогда в фае фоксе срабатывает, а в ИЕ - нет, так как чекед их не отмечает).

Код

function get_form(f)
{  
   for(var i=0; i<f.elements.length; i++)
   { el=f.elements[i];

     if (el.radio==null && el.selectedIndex==null && el.checked==null && el.defaultChecked==null )
     {
       val=el.value;
     }
     else if (el.selectedIndex!=null)
       val=el.options[el.selectedIndex].value;
     else if (el.radio!=null)
     {  for(var j=0; j<el.length;j++)
         if (el.radio[j].checked==true)
            val=el.radio[j].value;
     } else if (el.checked!=null && el.checked==true)
       val=el.value;

     if (val)
       addstr+='&'+f.elements[i].name+'='+escape(val);
     val='';
   }
   return addstr;
}


Есть какие-то другие варианты, чтобы работали все типы полей и во всех браузерах?

Это сообщение отредактировал(а) Wiedzmin - 22.9.2006, 19:22
PM MAIL   Вверх
Sardar
Дата 22.9.2006, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(Wiedzmin @  22.9.2006,  18:22 Найти цитируемый пост)
В общем свойства type нету, а чекбоксы, текстовые поля, скрытые поля, селекты и тд отличаются расположением значения.

С каких это пор type нет? Читаем HTML DOM, всё станет ясно.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Wiedzmin
Дата 22.9.2006, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



document.form1.elements[0].type - правильная запись будет?

Это сообщение отредактировал(а) Wiedzmin - 22.9.2006, 20:27
PM MAIL   Вверх
Sardar
Дата 22.9.2006, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Неужели сложно поверить/посмотреть? Да.
С одним но, document.form1 это древнее нетскейповское обращение к элементу, ты должен это забыть как страшную ересь. Дай форме id, доставай как document.getElementById(id). На крайняк можно document.forms.formName, но пользовать DOM 0 коллекции в последнее время тоже не красиво.


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


 




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


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

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