CGI:可以将多个单选按钮组值收集到一个数组中吗?

时间:2011-10-20 02:19:01

标签: perl cgi

我正在做Perl / CGI表单,需要向用户显示可变数量(1 - 100或更多)的是/否单选按钮组。有没有办法创建一个单独的变量来保存每个值,如此

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

或者我可以将它们存储在某种类型的数组中,例如复选框组值

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

由于单选按钮组都需要具有不同的“名称”属性,我认为数组不可能。我认为唯一的选择是一次显示固定数量的单选按钮并声明变量来保存每个单选按钮。

任何具有更多Perl / CGI经验的人都能为此提供替代解决方案吗?感谢。

2 个答案:

答案 0 :(得分:1)

未测试。

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

可能有帮助。

答案 1 :(得分:0)

http://search.cpan.org/perldoc/HTML::FormFuhttp://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)