使用Perl显示html单选按钮?

时间:2013-08-18 11:35:36

标签: html perl cgi

我想显示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'>不在正确的位置,但我不知道它应该在哪里。请帮帮我。

1 个答案:

答案 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个部分分组到另一个部分时要小心。希望它有所帮助!