我想显示2个用于选择学生性别的单选按钮。当我尝试使用CGI Perl模块设置变量来为这些单选按钮生成html代码时,只显示无线电选择文本,而不是按钮:
$cInput_form .= $q->div({-class => 'control-group'},
$q->label({-class => 'control-label', -for => 'gender'}, "Gender:"),
$q->div({class => 'controls'},
$q->span({class => 'span12'},
$q->label({-class => 'blue'},
$q->radio_group({-id => 'gender',name => 'gender', -values => ['M','F'], -labels => \%labels, -default => $cGender, 'true'}), $q->span({-class => 'lbl'})))));
当我使用" Insepect元素"我的网页浏览器中的工具我看到的是:
<div class="control-group">
<label class="control-label" for="gender">Gender:</label>
<div class="controls">
<span class="span12">
<label class="blue">
<label>
<input type="radio" name="gender" value="M" checked="checked" id="gender" true="">
Male
</label>
<label>
<input type="radio" name="gender" value="F" id="gender" true="">
Female
</label>
<span class="lbl"></span>
</label>
</span>
</div>
</div>
我认为问题是<span class = 'lbl'>
不在正确的位置,但我不知道它应该在哪里。请帮帮我。
答案 0 :(得分:0)
我认为问题可能在于您将radio_group分组到不必要的标签组中。 This页面显示了与您想要创建性别选择单选按钮组的情况类似的代码。
尝试将代码更改为(重新格式化以使其更具可读性):
$cInput_form .= $q->div({-class => 'control-group'},
$q->label({-class => 'control-label',
-for => 'gender'}, Gender:"),
$q->radio_group({-id => 'gender',
name => 'gender',
-values => ['M','F'],
-labels => \%labels,
-default => $cGender,
'true'}),
);
这是未经测试但我认为可以解决这个问题,在将1个部分分组到另一个部分时要小心。希望它有所帮助!