1

AJAX を使用して別のビュー ファイルにあるフォームの一部を含む部分ビューをレンダリングする方法はありますか?

私はまさに1つのフォーム変数を意味します:

`<?php $form = ActiveForm::begin(['enableAjaxValidation' => true,]); ?>`

例えば ​​:

コントローラ

public function actionOlddetform()
    {
        return $this->renderAjax('_olddet');
    }

意見

<?php $form = ActiveForm::begin(['enableAjaxValidation' => true,]); ?>

<?= $form->field($model, 'date')->input() ?>
<?= $form->field($model, 'annotations')->textarea(['rows' => 3]) ?>

<div id="details-form"></div>

<?php ActiveForm::end(); ?>

コンテナー用の AJAX に含まれるフォームの一部はdetails-form、値によって異なりdateます。日付を確認してその部分ビューのコンテンツを表示する方法は知っていますが、フォームの一部を含めたい場合にエラーが発生します。

PHP Notice 'yii\base\ErrorException' with message 'Undefined variable: form' 
4

1 に答える 1

0

ビューに実際に渡すのを忘れたようですmodel:

public function actionOlddetform()
{
    return $this->renderAjax('_olddet', ['model' => $dataModel]);
}

また、メイン ビューから「サブビュー」をレンダリングする場合は、そこにも変数を渡す必要があります (ただし、ビューにレンダリング呼び出しが表示されません)。

<?= $this->render('_formPart', ['form' => $form, 'model' => $model]) ?>
于 2015-05-20T05:54:21.593 に答える