两个在CakePHP中提交具有不同值的按钮

时间:2015-09-03 13:37:06

标签: php cakephp

我试图在CakePHP中创建一个表单,其中有2个按钮:' Accept'值= 1,'拒绝' 0.使用$this->Form->end()生成一个按钮,使用$this->Form->submit()生成另一个按钮。提交时,应更新数据库中字段is_accept的值,使用0或1,具体取决于用户选择单击的按钮。但我不确定如何设置按钮的值以及如何将值保存到它。

表格:

echo $this->Form->create('Order');
$options = array(
    'value' => '0',
    'class' => 'btn btn-primary btn-lg pull-right'
);
echo $this->Form->submit('Reject', $options);   

$options = array(
    'label' => __('Accept'),
    'class' => 'btn btn-primary btn-lg', 
    'value' => '1'
);
echo $this->Form->end($options); 

1 个答案:

答案 0 :(得分:1)

您可以处理按钮的名称,然后使用简单的if语句来识别按下了哪个按钮。

<?php echo $this->Form->create('form_name'); ?>
<?php echo $this->Form->submit('btn_1', array('name' => 'btn')); ?>
<?php echo $this->Form->submit('btn_2', array('name' => 'btn')); ?>

/ *请不要添加任何与提交按钮相关的js,否则两者都会提交,而不会有任何差异因为$ this-&gt; request-&gt; data [&#39; btn&#39;]将不会出现在帖子数据中。 * /     形状配合&GT;端(); ?&GT;

if($this->request->data['btn'] == 'btn_1') {
 // is btn1 pressed
} else {
 // btn2 pressed
}