嵌套的CActiveForm - Yii框架

时间:2012-03-01 15:48:58

标签: php yii yii-components formbuilder

我的主index.php中有以下代码:

<div class="form">
<?php $oForm = $this->beginWidget('CActiveForm', array(
'id' => 'test-form',
'enableAjaxValidation' => false,
'enableClientValidation' => true,
'clientOptions' => array(
    'validateOnSubmit' => true,
),
'focus' => array($oTest, 'title'),
)); ?>

<fieldset>
    <legend>Questions</legend>
    <div id="questions">
        <?php echo $oForm->hiddenField($oTest, '_id');  ?>
        <?php $this->renderPartial('_showQuestions', array('oTest' => $oTest)); ?>
    </div>
</fieldset>

<fieldset>
    <legend>Reviewers</legend>
    <div class="row">
        <?php echo $oForm->labelEx($oTest, 'reviewers'); ?>
        <?php echo $oForm->textField($oTest, 'reviewers', array('size' => 140)); ?>
    </div>
</fieldset>
<?php $this->endWidget(); ?>

以及部分视图中的以下代码_showSuestions

<div class="form">
<?php $oForm = $this->beginWidget('CActiveForm', array(
'id' => 'question-form2',
'enableAjaxValidation' => false,
'enableClientValidation' => true,
'clientOptions' => array(
    'validateOnSubmit' => true,
),
)); ?>
<?php echo $oForm->hiddenField($oTest, '_id'); ?>

<?php
foreach ($oTest->questions as $oQuestion)
{
    var_dump($oQuestion);
}
?>



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

现在问题是这不起作用。当我访问我的页面时,在调用partialView后,表单标签突然关闭。我猜这是因为嵌套的CActiveForm?当我删除内部CActiveForm时,它可以工作

1 个答案:

答案 0 :(得分:1)

尝试更改第二个表单变量的名称(在_showQuestions文件中),例如,将oForm更改为tForm。有一个变量名称冲突。因为在一天结束时,renderPartial只不过是一个包含。