2013-04-03 70 views
0

以下表格不提交。我錯過了什麼嗎?Yii表格不提交

  <?php 
      $form = $this->beginWidget('CActiveForm', array(
       'id' => 'site-search-form', 
       'action' => Yii::app()->createAbsoluteUrl('/moduleA/actionB'), //array('/moduleA/actionB'), 
       'enableClientValidation' => true, 
       'enableAjaxValidation' => true, 
       'clientOptions' => array(
        'validateOnSubmit' => true, 
       ), 
      )); 
      echo $form->hiddenField($model, 'is_a', array('id' => 'is_candidate')); 
      ?> 
      <div class="blueline"></div> 
      <div class="row"> 
       <?php echo $form->label($model, 'position_type'); ?> 
       <?php echo $form->error($model, 'position_type'); ?> 
       <?php 
       $arr = CHtml::listData(PositionType::model()->findAll(array('condition' => 'status=1', 'order' => 't.order')), 'id', 'name'); 
       foreach ($arr as $k => $v) { 
        $arr[$k] = $v . ' Positions'; 
       } 
       echo $form->dropDownList($model, 'position_type', $arr); 
       ?> 
       <div class="clear-float"></div> 
      </div> 
      <div class="row"> 
       <?php echo $form->label($model, 'location'); ?> 
       <?php echo $form->error($model, 'location'); ?> 
       <?php echo $form->dropDownList($model, 'location', CHtml::listData(CitySector::model()->findAll(), 'id', 'name')); ?> 
       <div class="clear-float"></div> 
      </div> 
      <div class="row buttons"> 
       <?php echo CHtml::submitButton(''); ?> 
       <div class="clear-float"></div> 
      </div> 
      <?php 
      $this->endWidget(); 
      ?> 
+1

「不提交」是模糊的...你是否嘗試禁用客戶端/ ajax驗證? – soju

+0

任何javascript錯誤? – 2013-04-03 13:36:57

+0

不,它只是站在那裏,沒有事件被觸發 –

回答

2

這很可能是因爲您未渲染的屬性發生驗證錯誤。在這種情況下,您可以暫時在某處添加<?php echo CHtml::errorSummary($model) ?>以顯示所有型號錯誤。

1

從Yii的表單控件刪除clientOptions參數和嘗試:

'clientOptions' => array(
    'validateOnSubmit' => true, 
), 
1

對於那些誰面臨同樣的問題,但所選的答案不起作用。確保你沒有嘗試實現AJAX搜索。 AJAX搜索將安裝一個代碼,以防止表單提交併嘗試異步引入數據。如果該代碼失敗或沒有提供javascript錯誤無法正常工作,則會遇到困難。或者檢查是否AJAX代碼正在實施中沒有,請嘗試在視圖中找到這段代碼:

Yii::app()->clientScript->registerScript('search', " 
    ... 
    $('.search-form form').submit(function(){ 
    ... 
    return false; //<-- here's the trouble 

從返回false,真正改變線應當採用非AJAX的方式工作。