Framework CactiveForm - YII
-
14-11-2019 - |
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
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