Forum Webscript.Ru

Дизайн и Верстка => Всё о Html => Тема начата: Greg от 21 Декабря 2005, 15:05:50

Название: разделить элементы на группы
Отправлено: Greg от 21 Декабря 2005, 15:05:50
имеется форма, в которой есть два типа полей, которые по смысле относятся к разным темам. Количество этих полей в обоих случаях неизвестно, т.к. генерируется автоматически.

вопрос: можно ли как-то разделить их на группы в рамках HTML, чтобы потом можно было обратится к данным этих полей из скрипта?

если кто знает, в Delphi такое деление, по-моему, есть...

Для справки: все поля - checkbox

Все спасибо за советы!
Название: разделить элементы на группы
Отправлено: virka от 21 Декабря 2005, 17:00:49
Первое, что приходит в голову - присвоить свои аттрибуты. Правда, прийдется перебирать.
Допустим, одним ставишь , другим
Потом что-то типа
var temp1=document.getElementsByTagName("input");
И перебираешь, как-то сохраняя, в зависим.от того, какой доступ тебе к ним нужен.
Доп. если просто семейство-архив, то что-то типа
var chkLeft=new Array();
var chkRight=new Array();
var tcl=0;
var tcr=0;
for(ac=0;ac{
var ce=temp1[ac];
   if(ce.myflag=="left"){chkLeft[tcl]=ce;tcl++}
   else if(ce.myflag=="right"){chkRight[tcr]=ce;tcr++}
   else{}   
}

Если нужно постоянное обращение к этим семействам, можно на них сделать ссылку как свойство документа
document.left=chkLeft;
document.right=chkRight;
Обращение к ним -
document.left.length;
document.right[0].checked
document.right[1].name
и т.д.
Название: разделить элементы на группы
Отправлено: Xander от 21 Декабря 2005, 21:05:03
я бы предложил помудрить с именами. name="groupname.elementid", или там "groupname[elementid]". PHP такие штуки любопытно обрабатывает.
Название: разделить элементы на группы
Отправлено: Greg от 22 Декабря 2005, 08:28:32
virka
обрабатывает PHP-скрипт, жаба здесь непричем... Но за идею спасибо :)

Xander
Цитировать
PHP такие штуки любопытно обрабатывает

а вот отсюда поподробнее, плз. (может и оффтоп, конечно ;) )

Принимаю $_POST\'ом, но переменной нет... может неправильно написал имя?


вот так пытаюсь вызвать:
echo $_POST[\'intrs.i1\'];
Название: разделить элементы на группы
Отправлено: hanslinger от 22 Декабря 2005, 09:49:16
А ты сделай print_r($_POST);
Название: разделить элементы на группы
Отправлено: Greg от 22 Декабря 2005, 10:38:33
да уже по другому сделал. просто части элемент присвоил имена, начинающиеся с одной буквы, а второй - с другой, остальная часть имени - ID из базы

а вытаскивал примерно так:


$AllThemes = array();
$AllInteres = array();
for ($i=0; $i{
if ($_POST[\'t\'.$i])
{array_push($AllThemes, $_POST[\'t\'.$i]);}
if ($_POST[\'i\'.$i])
{array_push($AllInteres, $_POST[\'i\'.$i]);
}
Название: разделить элементы на группы
Отправлено: hanslinger от 22 Декабря 2005, 14:00:35
Можно делать name="vasya[]" и name="petya[]", и получишь два массива, $_POST[\'vasya\'] и $_POST[\'petya\'].