我的主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时,它可以工作
答案 0 :(得分:1)
尝试更改第二个表单变量的名称(在_showQuestions文件中),例如,将oForm更改为tForm。有一个变量名称冲突。因为在一天结束时,renderPartial只不过是一个包含。