Автор Тема: Как пройтись по всем элементам формы?  (Прочитано 3590 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн docker

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.dedowskstudio.ru
Всем доброго дня!

У меня элементы в форме имеют имена, например:
 name1[], name2[], name3[]

Причем они конечно повторяются, например:

<td>
 <
input name="name1[]"....required="Не введено имя1">
 <
input name="name2[]"....>
 <
input name="name3[]"....required="Не введено имя3">
</
td>
<
td>
 <
input name="name1[]"....>
 <
input name="name2[]"....>
 <
input name="name3[]"....>
</
td>


Я проверяю форму javascript-om. Для этого мне нужно пройтись по всем элементам и посмотреть, где выставлено свойство required.

for (var i = 0; i.....
}
где f - объект формы, выдает ошибку:
"elements" - есть null или не является объектом.

Как быть, подскажите???
Спасибо!!!!

Оффлайн гоша

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 85
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как пройтись по всем элементам формы?
« Ответ #1 : 10 Февраля 2004, 13:14:27 »
> где f - объект формы

уверен? Напиши перед циклом:

alert(f)
alert(f.tagName)

Оффлайн docker

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.dedowskstudio.ru
Как пройтись по всем элементам формы?
« Ответ #2 : 10 Февраля 2004, 13:38:37 »
ДА, спасибо. elements из-за этого не работал.

Но мне теперь вот что нужно. На самом деле у имен еще значения в кв. скобках выдаются:


<td
<
input name="name1[1]"....required="Не введено имя1"
<
input name="name2[1]"....> 
<
input name="name3[1]"....required="Не введено имя3"
</
td
<
td
<
input name="name1[2]"....> 
<
input name="name2[2]"....> 
<
input name="name3[2]"....> 
</
td>



И проходя по всем елементам, мне надо еще выбирать это число в скобках.
Внутри цикла:
for (var i = 0; i.....
}

обращаясь так: f.elements.name мы получим полное имя, например: name1[2]
А мне нужно еще это число, т.е. 2!!!
Что тут можно? Вырезать его? Регулярными выражениями?
Подскажите как, я в js с регулярными выражениями никогда не работал!!! :-(((((

А не вырезая это никак нельзя сделать? Такие имена в массивы не переводятся?
« Последнее редактирование: 10 Февраля 2004, 13:44:11 от docker »

Оффлайн гоша

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 85
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как пройтись по всем элементам формы?
« Ответ #3 : 10 Февраля 2004, 13:53:42 »
var str="name1[2]";
var m=/^(\\w+)\\[(\\w+)\\]$/.exec(str);
alert(m)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28