Yii实现多按钮保存与提交的方法

  本文实例讲述了Yii实现多按钮保存与提交并且不冲突的实现方法。这是很多初学都曾遇到但是不知道如何解决的问题,下面分享给大家供大家参考。具体方法如下:

  Yii中只有CForm才可以使用submitted() 方法 ,通过if($form->submitted('submit'))来判断是不是点击了buttonName为submit的按钮,比如:

  表单:

  

复制代码 代码如下:
'buttons'=>array(

  'preview'=>array(

  'type'=>'submit',

  'label'=>yii::t('core','Show preview'),

  ),

  'draft'=>array(

  'type'=>'submit',

  'label'=>yii::t('core','Save draft'),

  ),

  'submit'=>array(

  'type'=>'submit',

  'label'=>yii::t('core','Submit'),

  ),

  CHtml::link(yii::t('core','Cancel'),yii::app()->homeUrl),

  ),

  控制器:

  

复制代码 代码如下:
if($form->submitted('submit'))

  $model->status=Post::STATUS_PROPOSED;

  else

  $model->status=Post::STATUS_DRAFT;

  但是CActiveForm没有这个方法,一个解决方案是采用古典的html写法:

  

复制代码 代码如下:
<input type="submit" name="submityes" value = <?php echo Yii::t('common', "Submit")?>>

  if(isset($_POST['submityes']))

  就行了。

  最终运行效果如下图所示:

Yii实现多按钮保存与提交的方法

  希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。