yii 删除内容时增加ajax提示

本文介绍了一个处理后台新闻分类和文章管理的场景,详细解释了如何在分类下存在文章时,通过JavaScript和AJAX阻止用户直接删除该分类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境 : 后台有新闻分类和新闻的文章,在分类下有文章存在的时候,不想用户删除分类

代码

controller

    public function actionDelete($id)
    {
        $data = Category::model()->findByPk($id);

        if(count($data->fk_news) > 0){//统计此分类下是否有文章,如果有,则不允许删除此分类
            if(isset($_POST)){
            //  echo json_encode(1);
            echo <<<EOF
            <script>
                alert('该分类下有新闻,请先删除或修改新闻所属分类,再进行删除!');
                javascript:history.go(-1);
            </script>
EOF;
            }else{
            echo <<<EOF
            <script>
                alert('该分类下有新闻,请先删除或修改新闻所属分类,再进行删除!');
                javascript:history.go(-1);
            </script>
EOF;
            }
            /*$cs=Yii::app()->getClientScript();
            $cs->registerScript("","alert('该分类下有新闻,请先删除或修改新闻所属分类,再进行删除!');return false");*/
        }else{
            $this->loadModel($id)->delete();
            if(!isset($_GET['ajax'])){
                $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
            }
        }

        // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
        /*if(!isset($_GET['ajax']))
            $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));*/
    }

 

views

 

<?php $this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'category-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'cid',
		'c_name',
		array(
      'class'=>'CButtonColumn',
      'afterDelete'=>'function(link,success,data){if(data){alert("该分类下有新闻,请先删除或修改新闻所属分类,再进行删除.");}else{alert("删除成功");}}',
			'deleteConfirmation'=>"js:'ID为 '+$(this).parent().parent().children(':first-child').text()+' 的记录将被删除,确定删除?'",
		),
	),
)); ?>

 

转载于:https://www.cnblogs.com/debmzhang/p/3418438.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值