Автор Тема: Как из получить инфу из checkbox -ов  (Прочитано 5668 раз)

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

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Как из получить инфу из checkbox -ов
« : 13 Сентября 2002, 18:56:13 »
отмечен он или нет, без применения GGI библиотеки.

форма примерно такая:






submit


Знаю, что делаем хеш id, куда вводим значения, а как это делают люди не могу найти :(

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как из получить инфу из checkbox -ов
« Ответ #1 : 13 Сентября 2002, 19:34:00 »
Цитировать
Как из получить инфу из checkbox -ов
Также, как и из любых других полей - в зависимотсти от метода передачи: GET или POST. Но CGI лучше используй.

А ты случайно checkbox с radio не перепутал? В одной форме не может быть несколько checkbox-ов c одинаковым именем!
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Как из получить инфу из checkbox -ов
« Ответ #2 : 14 Сентября 2002, 09:03:18 »
Да, ошибся, так правильно:


 
 
 
 
 
 
 
 

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Как из получить инфу из checkbox -ов
« Ответ #3 : 14 Сентября 2002, 15:30:58 »
Цитировать
В одной форме не может быть несколько checkbox-ов c одинаковым именем!


Может. В примере по CGI с одинаковым именем.

Сейчас сделал так

Страница:



Скрипт:
       @a=$FORM{\'cm\'};
       for($i=0;$i<@a;$i++){
       print "$a[$i]";
       }

Печатается один, последний элемент. Как же всё таки принять список выделенных checkbox?

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Как из получить инфу из checkbox -ов
« Ответ #4 : 14 Сентября 2002, 18:02:36 »
Цитировать

После трех дней без программирования жизнь становится бессмысленной.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как из получить инфу из checkbox -ов
« Ответ #5 : 15 Сентября 2002, 01:26:01 »
Yuraz, используй CGI и не изобретай велосипед.
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Как из получить инфу из checkbox -ов
« Ответ #6 : 17 Сентября 2002, 15:49:41 »
Хорошо, посоветуйте плиз, как сделать список флажков (в одной форме) , и как потом извлечь данные, узнать какие флажки были установленны, хоть с CGI хоть без. Очень надо!!!!!!!!

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как из получить инфу из checkbox -ов
« Ответ #7 : 18 Сентября 2002, 08:50:18 »
Цитировать
список флажков



Цитировать
узнать какие флажки были установленны
use CGI qw/:standart/;
$req=new CGI;
$f1=$req->param(\'f1\'); # для метода POST
$f2=$req->param(\'f2\');

$f1=$req->url_param(\'f1\'); # для метода GET
$f2=$req->url_param(\'f2\');

Если флажков много, то можно перебирать их в цикле, запихивать результат в массив и т.п.
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Как из получить инфу из checkbox -ов
« Ответ #8 : 18 Сентября 2002, 09:08:48 »
YA спасибо, значит действительно с одним именем нельзя, тогда почти разобрался!

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Как из получить инфу из checkbox -ов
« Ответ #9 : 24 Сентября 2002, 19:00:52 »
я сейчас наверное с ума сойду с этой темой :)
ну ни как не могу собрать массив из выделенных чекбоксов, делаю форму по типу встроенного примера в перле:

       start_form,
       "What\'s your name? ",textfield(\'name\'),p,
       "What\'s the combination?",
       checkbox_group(-name=>\'words\',
                      -values=>[\'eenie\',\'meenie\',\'minie\',\'moe\'],
                      -defaults=>[\'eenie\',\'moe\']),p,
       "What\'s your favorite color?",
       popup_menu(-name=>\'color\',
                  -values=>[\'red\',\'green\',\'blue\',\'chartreuse\']),p,
       submit,
       end_form,

выходит на странице что то типа этого:

eenie
meenie
minie
moe

далее обрабатываю, как в примере

    if (param) {
       print
           "Your name is ",em(param(\'name\')),p,
           "The keywords are: ",em(join(", ",param(\'words\'))),p,
           "Your favorite color is ",em(param(\'color\')),".\\n";
    }

и в ответ ничего получить не могу. Наверное это из за того, что делаю в скрипте:

############ ################ ################## #################
if ($ENV{\'REQUEST_METHOD\'} eq "POST")
    {read(STDIN, $bufer, $ENV{\'CONTENT_LENGTH\'});}
else
   {$bufer=$ENV{\'QUERY_STRING\'};}
@pairs = split(/&/, $bufer);
foreach $pair (@pairs)
      {
        ($name, $value) = split(/=/, $pair);
        $name =~ tr/+/ /;
        $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $FORM{$name} = $value;
        }

$step=$FORM{\'step\'};
....
############ ################ ################## #################

и из за этого ничего не проходит?

Но отказаться от предыдущего кода не могу, т.к. весь скрипт работает на нём, и библиотегу CGI вообще не использую. И сейчас не хочется использовать, как без неё построить список выделенных checkbox?


Заранее огромное спасибо за любые советы :*

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как из получить инфу из checkbox -ов
« Ответ #10 : 25 Сентября 2002, 00:43:58 »
Объясни сначала, какой смысл в существовании в одной форме нескольких checkbox-ов с одинаковым именем (отправляется только один из них), и какой смысл в атрибуте "value" в checkbox-е?

Ты, наверное, имел в виду следующее:

eenie
meenie
minie
moe
Литературный перевод с русского и английского на Perl. Дорого!

Калибратор Стихийный

  • Гость
Как из получить инфу из checkbox -ов
« Ответ #11 : 04 Октября 2002, 16:55:35 »
Вначале, естественно, читаем данные из формы (никаких модулей не надо!):

read (STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'};
#дальше ясно...
#потом:
for $i (0..$checkboxes_number){
push @checkboxes, $FORM{"checkbox$i"};
}
при условии, что чекбоксы имеют имена checkbox0, checkbox1 и. т. д.
$checkboxes_number соответствует номеру последнего чекбокса, можно отправлять из формы в виде hidden-поля

 

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