私が取り組んでいるアプリケーションでは、ナビゲーションに変数 $mode と $action を使用しています。例えば:
$mode = param('mode');
$action = param('action');
if ($mode eq 'mode1') {
if ($action eq 'savedata') {
&savedata();
} elsif ($action eq 'showform') {
&showform();
}
}
通常、変更する必要があるのはアクション パラメータのみで、これはボタンで行うことができます。
$button1 = "<button type='submit' id='saveBenefit' style=\"$button_style\" name='action' class='button1' value='save'>Save</>";
$button2 = "<button type='submit' id='processBenefit' style=\"$button_style\" name='action' class='button1' value='process'>Save And Process</>";
しかし:
ボタン 1 をクリックしたときに、「モード」パラメータを利益として維持し、「アクション」パラメータを「保存」にします。ボタン 2 をクリックすると、モード パラメータが「トランザクション」になり、「アクション パラメータ」が「プロセス」になります。
クリックされたボタンに基づいて、複数のフォーム値 (アクションとモードの両方) を変更するにはどうすればよいですか?