改变我的形式得到url params

时间:2014-07-05 07:46:55

标签: yii

我使用checkboxlist()制作了一个简单的表单,当我使用获取提交表单时,它会转到下一页,但是网址看起来很讨厌。

http://mysite/dev/research/abc/all/?Abc[type]=N&Abc[type][]=1&Abc[type][]=2&Abc[type][]=3&yt0=Search

我怎么会把它改成这样的东西?

http://mysite/dev/research/abc/all/?type=N&type[]=1&type[]=2&type[]=3

或者如果可能的话,看起来更像

?type=1,2,3

请注意,我不想要&yt0=Search

在我的控制器中

public function actionIndex()
    {
        $model=new ABC;

        $this->render('index',array(
            'model'=>$model
        ));
    }

在我看来我有这个

<?php $form = $this->beginWidget('CActiveForm', array(
                        'id'=>'shop',
                        'action'=>$this->createUrl('/modulename/abc/all'),
                        'method'=>'get',
                        'enableAjaxValidation'=>false,
                    )); 


echo $form->checkBoxList($model,'type', $arr,
                        array('separator'=>'',
                             'template'=>'<div class="col-md-6 col-xs-12">{input}&nbsp;{label}</div>',
                              'uncheckValue'=>N,
                            )
);

echo CHtml::submitButton('Search', array('class'=>'btn btn-success'));

echo CHtml::button('Clear Filter', array('class'=>'btn btn-link', 'type'=>'reset')); 

$this->endWidget(); 
?>

更新:

想通了。必须添加&#39; name&#39; =&gt; &#39;类型&#39;

但如何删除&amp; yt0 =搜索

echo $form->checkBoxList($model,'type', $arr,
                                            array('name'=> 'type',
                                                  'separator'=>'',
                                                  'template'=>'<div class="col-md-6 col-xs-12">{input}&nbsp;{label}</div>',
                                                  'uncheckValue'=>N,

1 个答案:

答案 0 :(得分:1)

您可以使用CHtml:button发布&yt0=Search

<?php
                    echo CHtml::button('Search',
                        array(
                            'submit'=>array('/modulename/abc/all'),
                            'class'=>'btn btn-success'
                        )
                    );
                    ?>