【问题标题】:CGI: Possible to collect numerous radio button group values into an array?CGI:可以将多个单选按钮组值收集到一个数组中吗?
【发布时间】:2011-10-20 02:19:01
【问题描述】:

我正在做一个 Perl/CGI 表单,它需要向用户显示可变数量(1 - 100 或更多)的 Yes/No 单选按钮组。有什么办法可以像这样创建一个单独的变量来保存每个值

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

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

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

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

有更多 Perl/CGI 经验的人可以为此提供替代解决方案吗?谢谢。

【问题讨论】:

    标签: perl cgi


    【解决方案1】:

    未经测试。类似于

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

    可能会有帮助。

    【讨论】:

      【解决方案2】:

      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)也很有趣

      【讨论】:

        猜你喜欢
        • 2021-01-06
        • 1970-01-01
        • 2013-06-15
        • 2019-10-04
        • 1970-01-01
        • 2015-01-25
        • 2016-06-12
        • 2021-05-19
        • 1970-01-01
        相关资源
        最近更新 更多