2013-10-22 73 views
0

我有這樣的代碼來調用搜索行動:重定向搜索結果,形成我的索引頁提交

$this->renderPartial('search'); 

,這是搜索動作代碼:

$criteria = new CDbCriteria(); 

      if (isset($_GET['city'])) { 
       $q = $_GET['city']; 
       $criteria->compare('fileName', $q, true, 'OR'); 
       $criteria->compare('tags', $q, true, 'OR'); 
       $dataProvider = new CActiveDataProvider("Files", array('criteria' => $criteria)); 
       $this->redirect('result', array('dataProvider'=>$dataProvider)); 
      } 

      $dataProvider = new CActiveDataProvider("Files", array('criteria' => $criteria)); 
      $this->render('search'); 

,這是搜索視圖:

 <form method="get"> 
<?php 
     $url = CHtml::normalizeUrl(array("files/search")); 
     $model = Files::model(); 
     $c = new FilesController('view'); 
     $this->widget('zii.widgets.jui.CJuiAutoComplete',array(
      'model'=>$model, 
      'id'=>'autocomplete', 
      'attribute'=>$model->fileName, 
      'name'=>'city', 
      'source'=>$c->actionAutoComplete(), 
      // additional javascript options for the autocomplete plugin 
      'options'=>array(
       'minLength'=>'1', 
      ), 
      'htmlOptions'=>array(
       'style'=>'height:20px;', 
       'placeholder'=>'search', 
       'value'=>'isset($_GET["city"]) ? CHtml::encode($_GET["city"]) : "" ', 
       ),)); 
?> 
     <input type="submit" value="search" /> 


     </form> 

我想告訴另一視圖中的搜索結果,因此一旦點擊搜索提交按鈕我想重定向到ANOT她的觀點顯示結果,但在此代碼中搜索結果顯示在索引頁面中。 那麼該怎麼辦呢?

回答

1

您可以設置要被髮送您的形式,如URL:

$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
    'action' => Yii::app()->createUrl('anotherController/anotherView'), 
    'method' => 'post', 
)); 

或您的索引完成後,您可以重定向到另一個頁面,如:

$this->redirect(array('anotherController/anotherView')); 
+0

有在這段代碼中有一些錯誤 – Mohammad

+0

當然是因爲你使用的是「

」標籤,而且我已經向你展示瞭如何使用yii形式和bootstrap來幫助你更快地開發。並且不要忘記使用「$ this- > endWidget();」在你的表格之後。 – tinybyte

+0

首先我使用了CActiveForm而不是bootstrap,然後我使用GET方法適合我的代碼而不是POST ...謝謝 – Mohammad