Yii表示没有提交

时间:2013-04-03 12:50:21

标签: php 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();
            ?>

3 个答案:

答案 0 :(得分:2)

您很可能在未呈现的属性上出现验证错误。在这种情况下,您可以在某处临时添加<?php echo CHtml::errorSummary($model) ?>以显示所有模型错误。

答案 1 :(得分:1)

从Yii Form Widget中删除 clientOptions 参数并尝试:

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

答案 2 :(得分:1)

对于那些面临同样问题的人,但所选答案不起作用。确保您没有尝试实现AJAX搜索。 AJAX搜索将安装代码以防止表单提交,并将尝试异步提供数据。如果该代码失败或没有给出javascript错误而无法正常工作,那么您将陷入困境。要检查是否正在实现AJAX代码,请尝试在视图中查找此代码:

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

将行从return false更改为true将使其以非AJAX方式工作。