2012-05-29 2 views
0

왼쪽 열에 레이블이 있고 오른쪽 열에 양식 요소가있는 2 열 테이블입니다. 두 번째 열의 의자 색상에 대한 라디오 버튼을 모두 얻으려고합니다. 그러나 그들은 첫 번째 칼럼에서 끝나고 있습니다.Perl의 HTML :: Template이있는 열의 단일 선택 단추

use HTML::Template; 
use CGI qw(:standard); 

my $form = ''; 

$form .= start_form . 
    table ({-width=>'100%'}, 
    Tr([ 
     td (b ('Chair color:')), 
     td (radio_group(-name => 'certificate_type', 
         -values=>['blue','white','green'],)), 
     td ([b ('Username:'), $ENV{REMOTE_USER}]), 
     td ([b ('Full name:'), $PARAMS{CURRENT_FULLNAME}]), 
     td ([b ('Email:'),  $PARAMS{EMAIL}]), 
    ])) . submit('Submit') . reset . end_form; 

(. 더 나은 두 번째 열에서 버튼을 얻을 수 있지만, 수직으로 적층하는 것)

+0

5 열 표와 비슷합니다. – mob

+0

@ mob : CGI가하는 일이 아닙니다. – Borodin

답변

1

난 당신이 "의자 색상"에서 원하는 가정 : 여기

코드의 관련 부분입니다 두 번째 열의 세 개의 라디오 버튼 왼쪽에있는 첫 번째 열?

"의자 색상"과 radio_group을 두 개의 개별 td 요소에 넣으면 별도의 행에 나타납니다.

익명의 배열로 묶인 이들을 마지막 세 개의 행과 마찬가지로 td 호출로 전달해야합니다.

또한 -columns => 1에서 radio_group까지의 매개 변수는 이들을 단일 열로 강제합니다.

이 코드는 필요한 것을 수행 한 것 같습니다.

my $form = 
    start_form 
    . table({-width=>'100%'}, 
     Tr([ 
     td([ 
      b('Chair color:'), 
      radio_group(
      -name => 'certificate_type', 
      -values => [ qw/ blue white green/], 
      -columns => 1 
     ) 
     ]), 
     td([b('Username:'), 'remote user']), 
     td([b('Full name:'), 'current fullname']), 
     td([b('Email:'),  'email']), 
     ]) 
    ) 
    . submit('Submit') 
    . reset 
    . end_form; 
+0

'-columns => 1'이 트릭을했습니다. 감사! – rlandster

+0

세 개의 라디오 라벨과 버튼을 두 번째 열에 모두 넣기를 원한다면 수직으로 쌓아 두지 않고 모두 같은 줄에 있고 "의자 색상"이라는 라벨이 붙어있는 경우에도 어떻게 할 수 있습니까? – rlandster

+1

@ rlandster : 그럼'-crows => 1'을 내 코드에서'-rows => 1'로 변경하면됩니다. – Borodin