簡體   English   中英

在Yii中使用Ajax。

[英]Using Ajax in Yii.?

我正在工作門戶網站上,並有一個供雇主搜索申請的搜索模塊。我想使用ajax在搜索后列出申請,並將結果列出在同一頁面中。我應該如何做??,下面是該模塊的屏幕截圖。嘗試過以下操作。 在此處輸入圖片說明

// Contoller代碼//

public function actionSearch()
{
               $model = new SearchEmployee();
               /*Getting Data From Search Form For Processing */

          if (isset($_POST['SearchEmployee'])) {

                $model->attributes = $_POST['SearchEmployee'];

                $category   =  $_POST['SearchEmployee']['category'];
                $skills     =  $_POST['SearchEmployee']['skills'];
                $experience =  $_POST['SearchEmployee']['experience'];

             $ajaxmodel = SearchEmployee::model()->find(array(
            'select' => array('*'), "condition" => "category_id=$category AND key_skills like'%$skills%'AND experience=$experience",

             ));

             if($model==null)
             {
                  Yii::app()->user->setFlash('success', "No Results");
                  $this->renderPartial('search');
             }
             else
             {
                  $this->renderPartial('search', array('model' => $ajaxmodel));
                  Yii::app()->end();
             }

}

//在視圖中,不發布完整的代碼,而只是顯示ajax結果的代碼,//

   <div class="view">

       <h1>Results </h1>

     <div class="view" id="id">

       <h1> Records Display </h1>

       <h4>Name: <?php echo $form->labelEx($model,'skills Required'); ?></h4>
       <h4>Skills: <?php echo $form->labelEx($model,'Skills Required'); ?></h4>
       <h4>Experience: <?php echo $form->labelEx($model,'Skills Required'); ?></h4>
       <h5>&nbsp;&nbsp;<?php echo CHtml::submitButton('VIew Details'); ?></h5>
       </div>

       </div>

這是做的事...

在您看來,只需啟用ajax,例如:

$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
        'id' => 'client-document-form',
        'method' => 'post',
        'action' => $url,
        'enableAjaxValidation' => false,
        'errorMessageCssClass' => 'required_field_text'
    )); ?>

此行enableAjaxValidation => true需要在操作中也為true添加此行$this->performAjaxValidation($model);

更新:

$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
            'id'=>'update-profile-form',
            'enableAjaxValidation' => true,
            'errorMessageCssClass' => 'required_field_text',
            'clientOptions' => array(
                'validateOnSubmit' => true,
                'validateOnChange' => false,
                'hideErrorMessage' => true,
                'beforeValidate' => 'js:function(form) {
                    return validate.beforeValidate("update-profile-form");
                }',
                'afterValidate' => 'js:function(form, data, hasError) {
                    validate.afterValidate(data, "update-profile-form");
                }'
            ),

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM