Автор Тема: разделить элементы на группы  (Прочитано 3669 раз)

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

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
разделить элементы на группы
« : 21 Декабря 2005, 15:05:50 »
имеется форма, в которой есть два типа полей, которые по смысле относятся к разным темам. Количество этих полей в обоих случаях неизвестно, т.к. генерируется автоматически.

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

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

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

Все спасибо за советы!
Пространные размышления об ИТ и все что вокруг

Оффлайн virka

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 68
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
разделить элементы на группы
« Ответ #1 : 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

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
разделить элементы на группы
« Ответ #2 : 21 Декабря 2005, 21:05:03 »
я бы предложил помудрить с именами. name="groupname.elementid", или там "groupname[elementid]". PHP такие штуки любопытно обрабатывает.
•••Jah\'d never let us down!•••

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
разделить элементы на группы
« Ответ #3 : 22 Декабря 2005, 08:28:32 »
virka
обрабатывает PHP-скрипт, жаба здесь непричем... Но за идею спасибо :)

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

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

Принимаю $_POST\'ом, но переменной нет... может неправильно написал имя?
<input type="checkbox" checked="checked" name="intrs.ш1" value="2" />

вот так пытаюсь вызвать:
echo $_POST[\'intrs.i1\'];
Пространные размышления об ИТ и все что вокруг

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
разделить элементы на группы
« Ответ #4 : 22 Декабря 2005, 09:49:16 »
А ты сделай print_r($_POST);

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
разделить элементы на группы
« Ответ #5 : 22 Декабря 2005, 10:38:33 »
да уже по другому сделал. просто части элемент присвоил имена, начинающиеся с одной буквы, а второй - с другой, остальная часть имени - ID из базы

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


$AllThemes 
= array();
$AllInteres = array();
for (
$i=0$i<count($_POST); $i++)
{
if (
$_POST[\'t\'.$i])
{array_push($AllThemes, $_POST[\'t\'.$i]);}
if ($_POST[\'i\'.$i])
{array_push($AllInteres, $_POST[\'i\'.$i]);
}
Пространные размышления об ИТ и все что вокруг

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
разделить элементы на группы
« Ответ #6 : 22 Декабря 2005, 14:00:35 »
Можно делать name="vasya[]" и name="petya[]", и получишь два массива, $_POST[\'vasya\'] и $_POST[\'petya\'].

 

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