0

ユーザーのMACアドレスやその他の情報が表示されるテーブルがあります。forループを介して各エントリに編集ボタンを追加しています。私の問題は、これらのエントリの1つを選択して、別のサブルーチンに表示するにはどうすればよいですか?つまり、あるエントリの編集ボタンをクリックしたときに、編集機能を実行する別のサブルーチンでそのエントリ情報を表示するにはどうすればよいですか?

以下は私のエントリーリストのサブです。

print <<EOF;
<br>
 <table>
  <tr>
   <th>MAC</th>
   <th>Description</th>
   <th>UserID</th>
   <th>Edit</th>
<th>Delete</th>
   </tr>
EOF



foreach $test ( @list ) {

   print "<tr>";
   print "<td>" . scalar($test->mac()) . "</td>";
   print "<td>" . scalar($test->comment()) . "</td>\n";
   print "<td>" . scalar($test->username()) . "</td>\n";


   print "<td>" . $editButton . "</td>\n";



 print "</tr>";

  }
4

1 に答える 1

1

編集するものを選択することは非破壊的な操作であるため、リンクを使用します。

編集するものをユニークなもので識別する必要があります。

MACアドレスが一意であると仮定すると(デバイス用である必要がありますが、ユーザーやコメント用ではない場合があります)、それを使用できます。

use URI::Escape;
use HTML::Entities;

my $editButton = sprintf(
    q{<a href="edit.cgi?mac="%s">Edit</a>}, 
    encode_entities(uri_escape($test->mac()))
);

その後、編集フォームを生成するスクリプトの値にアクセスできます。

于 2012-11-28T16:48:47.737 に答える