本文實例講述了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框架的PHP程序設計有所幫助。