2011-06-30 43 views
4

我在一個頁面上有多個表單並且使用renderPartial呈現一個表單,現在如果我想使用ajax驗證來驗證它,則不起作用。驗證在yii中使用renderPartial呈現的表單

視圖代碼

<?php $form=$this->beginWidget('CActiveForm', array(
       'id'=>'bill-shipp-form', 
       'action'=>CController::createUrl('cart/index'), 
       'enableAjaxValidation'=>true, 
       'focus'=>array($billingShippingInfo,'first_name_b'), 
       //'enableClientValidation'=>true, 
       'clientOptions' => array(
          'validateOnSubmit' => true, 
          'validateOnChange'=>false, 
          'afterValidate'=>'js:postBillShipp' 
          ), 
     )); ?> 

,並在車/指數我有事先

if(isset($_POST['ajax']) && $_POST['ajax']==='bill-shipp-form') 
     { 
      echo CActiveForm::validate($billingShippingInfo); 
      Yii::app()->end(); 
     } 

感謝

+0

因此,單個頁面請求加載多個表單實例?你的JavaScript控制檯中是否有任何js錯誤? –

回答

0

您應該使用4個參數用於渲染部分:

$this->render('view',$data,false,TRUE); 

第四個參數是親cessOutput,你應該將它設置爲true API