Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Управление таблицами в CGI.pm


Автор: korob2001 25.8.2003, 00:06
Всем доброго времени суток!
Вот, сталкнулся с такой проблемой. Необходимо создать такую таблицу, состоящую из одной строки и двух ячеек.

Код

<html>
<head>
<title>Simple</title>
</head>
<body>
<form action='cgi-bin/script.pl' method='post'>
<table width='400' border='1'>
 <tr>    
  <td width='100' align='right'>Name:</td>
      <td width='300' align='left'>
   <input type='text' size='10' name='namez'>
  </td>
 </tr>
 <tr>
  <td width='400' colspan='2' align='center'>
   <input type='submit' value='Send'>
  </td>
 </tr>
</table>
</form>
</body>
</html>


Необходимо сделать тоже самое но используя CGI.pm. О.К. пишу следующий код, особое внимание прошу обратить на часть программы которая выделена коментарием.

Код

#!/usr/bin/perl -w
use strict;
use CGI;
my $cgi = new CGI;
print $cgi->header( -charset => 'Windows-1251' ),
$cgi->start_html(),
 $cgi->start_form( -action => 'script.pl' ),
  $cgi->table( { -width => '400',
                 -border => '1' },
#---------------------------- Внимание :) --------------------------------------------
    $cgi->Tr( [
      $cgi->td( { -width => '100',
                  -align => 'right' },
                 ['Name:', $cgi->textfield( -size => '10',
                                            -name => 'namez') ], ),
    ] ),
#---------------------------- Вынимание :) ------------------------------------------
    $cgi->Tr( [
      $cgi->td( { -width => '400',
                  -colspan => '2',
                  -align => 'center' },
         $cgi->submit( -value => 'Send' ),
      ),
    ] ),
  ),
 $cgi->end_form(),
$cgi->end_html();


Но содержимое дух ячеек выравнивается по правому краю. Исходя из выше описанного кода HTML, видно что необходимо сделать выравнивание второй ячейки по левому краю.

Помогите плиз.
Просмотрел perldoc CGI но ничего подобного не обнаружил. Неужели Линкольн Штэйн не учел такую важную деталь, как индивидуальное управление ячейками таблиц?

Заранее благодарен,
Денис

Автор: HalkaR 25.8.2003, 09:02
Скорее проблема в HTML, потому что выдается ведь все правильно. А отбражается неверно.

Автор: korob2001 26.8.2003, 00:34
Проблема в том, что приведённый ранее код генерирует HTML код, где в двух ячейках указаны значения <td align='right'>.
Но каким образом изменить во второй ячейке значение атрибута align='right' на align='left', при этом значение атрибута align в первой ячейке, должно оставаться не изменным?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)