CakePHP 1.3では、複数の送信ボタンを備えたフォームを作成できます。
echo $this->Form->submit('Submit 1', array('name'=>'submit');
echo $this->Form->submit('Submit 2', array('name'=>'submit');
コントローラーで押された送信ボタンを次のように検出します。
if (isset($this->params['form']['submit']) && $this->params['form']['submit'] == "Submit 1") {
// first button clicked
}
CakePHPでは、$ this-> params ['form']が設定されておらず、クリックされたボタンの値が$ this-> request、$ this-> request-> data、$ this-> params、$のどこにも表示されません。 this->dataまたは$_POST。
CakePHP 2.0でクリックされたボタンを確認するにはどうすればよいですか?
前もって感謝します。
編集:
リクエストに応じて、フォームのコードは次のとおりです。
<?php echo $this->Form->create('History', array('action'=>'add')); ?>
<div class='submit'>
<?php
echo $this->Form->submit('Yes', array('div'=>false, 'name'=>'submit'));
echo $this->Form->submit('No', array('div'=>false, 'name'=>'submit'));
?>
</div>
<?php echo $this->Form->end()?>
そして、フォームの出力:
<form action="/projects/kings_recruit/trunk/www/histories/add" id="HistoryAddForm" method="post" accept-charset="utf-8">
<div style="display:none;">
<input name="_method" value="POST" type="hidden">
</div>
<div class="submit">
<input name="submit" value="Yes" type="submit">
<input name="submit" value="No" type="submit">
</div>
</form>