Question

J'ai le code suivant dans mon index principal.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(); ?>

et le code suivant dans la vue partielle _showssestions

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

Maintenant, le problème est que cela ne fonctionne pas. Lorsque je fis ma page, la balise de formulaire est soudainement fermée après avoir appelé mon partielView. Je suppose que c'est à cause de la forme de Cactive Nested? Quand je supprime la forme cactive intérieure, cela fonctionne

Était-ce utile?

La solution

Essayez de modifier le nom de la deuxième variable de forme (dans le fichier _showQuertions), disons, OFORM à TFORM. Il y a un affrontement de nom variable. Parce qu'à la fin de la journée, le rendu -partial n'est rien d'autre qu'un inclure.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top