我是Perl的新手并尝试检查是否检查了HTML页面上的一系列复选框。每个复选框都有一个我想要添加到Perl中的数组的不同数值。我一直在获得undef值。我已经梳理了网络,原因是这不起作用,最后分解为寻求帮助。现在我只想显示在我的日志中检索到的值。当复选框被选中时,我期待在我的结果中看到(1,2)。任何人都可以看到下面的代码有什么问题或提出一个建议,为什么我得到一个“未定义”的数组?有没有办法测试与Perl中相关复选框的连接?
HTML:
<input type="checkbox" name="Shipping" id="checkFXG" value="1" enabled />
<input type="checkbox" name="Shipping" id="checkFX2" value="2" enabled />
PERL:
use CGI;
...
sub updateShipping;
my $p;
my $self = shift;
my $cgi;
my $sIDquery = CGI->new;
my $param = $sIDquery->Vars;
my @sID = $param->{'Shipping'}; # Grab VALUE from checkbox
my $sID;
foreach $sID(@sID) { # Loop through array displaying each Shipping ID
warn "**** sID : [$sID]";
}
}
答案 0 :(得分:2)
要获取具有相同名称的多个参数,请不要使用Vars方法,执行:
my @values = $sIDquery->param('Shipping');
很少有您想要使用Vars的情况。特别不可能对可能不存在的参数(例如复选框)执行所需操作,或者可能具有多个值。