0

以下表格不提交。我错过了什么吗?

            <?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();
            ?>
4

3 回答 3

2

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

于 2013-04-03T20:10:23.877 回答
1

clientOptions从 Yii 表单小部件中删除参数并尝试:

'clientOptions' => array(
    'validateOnSubmit' => true,
),
于 2013-04-04T09:14:32.800 回答
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 方式工作。

于 2014-06-11T12:52:10.377 回答