检索使用Yii的CActiveForm提交的数据

时间:2013-08-23 19:10:53

标签: php yii

我正在尝试从使用CActiveForm的小部件创建的表单中检索数据。但是,当我单击提交按钮时,没有数据写入目标Url。如何获取提交的表单数据?

<p>Please list the ages of the members of your household:</p>

<div class="form offset3">
    <?php
    $form = $this->beginWidget('CActiveForm', array(
        'id' => 'survey',
        'enableClientValidation' => true,
        'enableAjaxValidation' => true,
        'action'=>Yii::app()->createUrl('//survey_resp'),
        'clientOptions' => array(
        'validateOnSubmit' => true,
        ),
        'htmlOptions' => array(
        'class' => 'form-horizontal',
        ),
));
?>

    <div class="row">
        <?php echo $form->labelEx($model, 'age_1'); ?>
        <?php echo $form->textField($model, 'age_1'); ?>
        <?php echo $form->error($model, 'age_1'); ?>
    </div>

    <div class="row">
        <?php echo $form->labelEx($model, 'age_2'); ?>
        <?php echo $form->textField($model, 'age_2'); ?>
        <?php echo $form->error($model, 'age_2'); ?>
    </div>

    <div class="row rememberMe">
        <?php echo $form->checkBox($model, 'resp_re'); ?>
        <?php echo $form->Label($model, 'resp_re'); ?>
        <?php echo $form->error($model, 'resp_re'); ?>
    </div>

    <div class="row buttons">
        <?php echo CHtml::submitButton('submit'); ?>
    </div>

    <?php $this->endWidget(); ?>

1 个答案:

答案 0 :(得分:2)

“survey_resp”是您的控制者还是您的行动?如果它是一个动作,那么你应该为表单的动作添加正确的URL。 例如:

 'action'=>Yii::app()->createUrl('/you_controller_name/your_action_name'),

ps:记住,如果你在createUrl中加上“//”,它会为basePath或模块生成一个url。 见http://www.yiiframework.com/doc/api/1.1/CController#createUrl-detailhttp://www.yiiframework.com/doc/api/1.1/CActiveForm#action-detail