Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Опрос форм на странице (https://javascript.ru/forum/dom-window/29933-opros-form-na-stranice.html)

pylyp 17.07.2012 19:36

Опрос форм на странице
 
Есть на странице куча форм. У каждой формы есть имя. Надо опросить формы. Как это делается? Уже запутался.

Код:

<form name="form1" method="post">
<input type="radio" name="name1" value="1" />
<input type="radio" name="name1" value="2" />
<input type="radio" name="name1" value="3" />
</form>

<form name="form2" method="post">
<input type="radio" name="name2" value="1" />
<input type="radio" name="name2" value="2" />
<input type="radio" name="name2" value="3" />
</form>

<form name="form3" method="post">
<input type="checkbox" name="name3_1" value="1" />
<input type="checkbox" name="name3_2" value="2" />
<input type="checkbox" name="name3_3" value="3" />
</form>

Как-то так?
var form1 = document.forms["form1"].name1.value;
var form2 = document.forms["form2"].name2.value;
var form3_1 = document.forms.forms["form3"].name3_1.checked;
var form3_2 = document.forms.forms["form3"].name3_3.checked;
var form3_4 = document.forms.forms["form3"].name3_4.checked;


Но оно не работает, выдает undefined
Или циклом перебирать?

lord2kim 17.07.2012 19:45

Цитата:

Сообщение от pylyp (Сообщение 189554)
Есть на странице куча форм. У каждой формы есть имя. Надо опросить формы. Как это делается? Уже запутался.

Код:

<form name="form1" method="post">
<input type="radio" name="name1" value="1" />
<input type="radio" name="name1" value="2" />
<input type="radio" name="name1" value="3" />
</form>

<form name="form2" method="post">
<input type="radio" name="name2" value="1" />
<input type="radio" name="name2" value="2" />
<input type="radio" name="name2" value="3" />
</form>

<form name="form3" method="post">
<input type="checkbox" name="name3_1" value="1" />
<input type="checkbox" name="name3_2" value="2" />
<input type="checkbox" name="name3_3" value="3" />
</form>

Как-то так?
var form1 = document.forms["form1"].name1.value;
var form2 = document.forms["form2"].name2.value;
var form3_1 = document.forms.forms["form3"].name3_1.checked;
var form3_2 = document.forms.forms["form3"].name3_3.checked;
var form3_4 = document.forms.forms["form3"].name3_4.checked;


Но оно не работает, выдает undefined
Или циклом перебирать?

обычно делается так
document.forms[0].name1[0].value;
document.forms["form1"].name1[0].value;

в вашем случае можно сделать по другому
document.forms["form1"].getElementsByName("name1");

что будет являться массивом, содержащий элементы с атрибутами name = "name1"

pylyp 17.07.2012 21:13

Спасибо, буду пробовать


Часовой пояс GMT +3, время: 22:58.