CGI: Можно ли собрать множество значений группы переключателей в массив? - PullRequest
0 голосов
/ 20 октября 2011

Я делаю форму Perl / CGI, которая должна представить переменное число (1 - 100 или более) групп переключателей Да / Нет пользователю.Есть ли способ создать отдельную переменную для хранения каждого значения, например

$radio1 = $q->param('radio1');
$radio2 = $q->param('radio2'); 
$radio3 = $q->param('radio3'); 

, или я могу сохранить их в каком-либо массиве, например, значениях групп флажков

@checks = $q->param('checks');

все группы переключателей должны иметь другой атрибут name, я не думаю, что массив будет возможен.Я думаю, что единственным вариантом будет отображать фиксированное количество переключателей одновременно и объявлять переменные для хранения каждой из них.

Может ли кто-нибудь с большим опытом работы с Perl / CGI предложить альтернативное решение для этого?Спасибо.

Ответы [ 2 ]

1 голос
/ 20 октября 2011

непроверенная.Что-то вроде

my %radio_groups = map { $_ => $cgi->param($_) } grep /^radio/, $cgi->param;

может помочь.

0 голосов
/ 20 октября 2011

См. http://search.cpan.org/perldoc/HTML::FormFu и http://search.cpan.org/perldoc/Catalyst::Manual::Tutorial::09_AdvancedCRUD::09_FormFu

и смотрите Data::FormValidator / Data::FormValidator::Tutorial

, когда вы создаете файл конфигурации, formfu создает html (формы) из этой конфигурации, проверяет формы, будь то переключатели или что-то еще

или вы создаете профиль formvalidator, вы сами создаете html и позволяете formvalidator проверять ...

также интересны CGI :: FormBuilder(например, formfu) и HTML :: FormHandler (как и другое, но moosey)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...