2012-03-01 2 views
0

У меня есть следующий код в моем главном index.php:Уплотненный виджет CActiveForm - фреймворка

<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

Я думаю, что вам нужен $ oForm-> endWidget() в первом файле –

+0

Woeps, забыли скопировать его, но он был там, не имеет ничего общего с ошибкой – SnIpY

+0

какая ошибка вы получаете? –

ответ

1

попробуйте изменить имя второй переменной формы (в файле _showQuestions), скажем, oForm для tForm. есть столкновение с именем переменной. Потому что в конце дня renderPartial - это не что иное, как включение.

+0

Также не работает ... Я думаю, что он, вероятно, жалуется, потому что у меня есть форма в форме? – SnIpY

+0

не может быть ... стартовые и конечные теги четко определяют ваши формы. просто любопытно, почему вы используете скрытое поле _id of oTest, дважды? yii может создавать два из элементов с одним и тем же идентификатором (элемент html one one), и браузер может быть напуган этим. –

Смежные вопросы