スポンサードリンク

フォーム画面を作っているのですが、
どうしても処理を分けたい内容が出てきたので
submitを2つ作って処理を分けることにしました。
スポンサードリンク
submitに名前を付ける
PHPでも普通にできるsubmitボタンに名前を付けて
コントローラー側で名前を判断して処理をするという
仕組みを実装します。
ビューファイルでsubmitに名前を付けたものを準備
<?php echo $this->Form->create('Model'); ?> ・・・ 略 ・・・ <?php echo $this->Form->submit('確認画面へ', array('name' => 'submit')); ?> <?php echo $this->Form->submit('削除する', array('name' => 'delete')); ?> <?php echo $this->Form->end(); ?>
上記の様に配列のname属性に値を入れると
submitに名前が付けられます。
コントローラーでどのsubmitが押されたか判断
受け取るコントローラー側
if ($this->request->is('post') || $this->request->is('put')) { if(!empty($this->data)){ // deleteのsubmitボタンを押された時の処理 // if(isset($this->params['data']['delete'])) { //これでもOK if(isset($this->request->data['delete'])) { //削除ボタンの場合の処理 }elseif(isset($this->request->data['submit'])){ //確認画面への場合 } } }
$this->request->dataでボタンの名前を記して
受け取れば、どのボタンが押されたか判断できます。
後は、そのボタンを押した場合の処理を書いていけばOKです。
スポンサードリンク