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

本文实例讲述了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程序设计有所帮助。

时间: 2024-10-26 06:18:56

Yii实现多按钮保存与提交的方法_php实例的相关文章

Yii中实现处理前后台登录的新方法_php实例

本文实例讲述了Yii中实现处理前后台登录的新方法.分享给大家供大家参考,具体如下: 因为最近在做一个项目涉及到前后台登录问题,我是把后台作为一个模块(Module)来处理的.我看很多人放两个入口文件index.php和admin.php,然后分别指向前台和后台.这种方法固然很好,可以将前后台完全分离,但我总觉得这种方式有点牵强,这和两个应用啥区别?还不如做两个App用一个framework更好.而且Yii官方后台使用方法也是使用Module的方式.但是Moudle的方式有一个很头疼的问题,就是在

Yii实现自动加载类地图的方法_php实例

本文实例讲述了Yii实现自动加载类地图的方法.分享给大家供大家参考.具体如下: Yii继承的一个静态属性$classMap,可以用于Yii的自动加载类地图.数组中的键是类名,数组中的值是相应类文件的路径. require_once($yii); $app = Yii::createWebApplication($config); Yii::$classMap = array( 'JPhpMailer' => Yii::getPathOfAlias('ext') . '/phpmailer/JPh

yii去掉必填项中星号的方法_php实例

本文实例讲述了yii去掉必填项中星号的方法.分享给大家供大家参考,具体如下: 如何去掉必填项里的星号呢? 先分析下代码实现: public function labelEx($model,$attribute,$htmlOptions=array()) { return CHtml::activeLabelEx($model,$attribute,$htmlOptions); } public static function activeLabelEx($model,$attribute,$ht

Yii模型操作之criteria查找数据库的方法_php实例

本文实例讲述了Yii模型操作之criteria查找数据库的方法.分享给大家供大家参考,具体如下: 数据模型搜索方法: public function search() { // Warning: Please modify the following code to remove attributes that // should not be searched. $criteria=new CDbCriteria; $criteria->compare('id',$this->id); $c

Yii中CGridView禁止列排序的设置方法_php实例

本文实例讲述了Yii中CGridView禁止列排序的设置方法.分享给大家供大家参考,具体如下: Yii中CGridView的功能是用来显示的数据列表.它支持排序,分页,和AJAX数据请求. 下面的代码演示了CGridView禁止列排序的设置方法: 'columns' => array ( array ( 'class' => 'CCheckBoxColumn', 'selectableRows' => '2', 'value' => '$data->id', 'id' =&g

Yii使用migrate命令执行sql语句的方法_php实例

本文实例讲述了Yii使用migrate命令执行sql语句的方法.分享给大家供大家参考,具体如下: Yii2自带一个强大的命令行管理工具,在windows下打卡cmd命令窗口,切换到Yii项目所在目录(包含Yii.bat),就可以在cmd中运行Yii命令了. 使用Yii migrate命令执行sql语句: 如在路径为/console/migrations/m130524_201442_init.php这个文件定义了一张User表的sql,我们要执行这个sql来生成数据表,就运行: yii migr

yii实现使用CUploadedFile上传文件的方法_php实例

本文实例讲述了yii实现使用CUploadedFile上传文件的方法.分享给大家供大家参考,具体如下: 一.前端代码 Html代码: <form action="<?php echo $this->createUrl('/upload/default/upload/');?>" method="post" enctype="multipart/form-data"> <input type="file

Yii实现多数据库主从读写分离的方法_php实例

本文实例讲述了Yii实现多数据库主从读写分离的方法.分享给大家供大家参考.具体分析如下: Yii框架数据库多数据库.主从.读写分离 实现,功能描述: 1.实现主从数据库读写分离 主库:写 从库(可多个):读 2.主数据库无法连接时 可设置从数据库是否 可写 3.所有从数据库无法连接时 可设置主数据库是否 可读 4.如果从数据库连接失败 可设置N秒内不再连接 利用yii扩展实现,代码如下: 复制代码 代码如下: <?php /**  * 主数据库 写 从数据库(可多个)读  * 实现主从数据库 读

Yii实现多按钮保存与提交(不冲突)

Yii中只有CForm才可以使用submitted() 方法 ,通过if($form->submitted('submit'))来判断是不是点击了buttonName为submit的按钮,比如: 表单  代码如下 复制代码 'buttons'=>array(         'preview'=>array(             'type'=>'submit',             'label'=>yii::t('core','Show preview'),