Yii2呈现具有不同ID的部分表单

时间:2018-06-01 12:15:27

标签: yii2

在Yii2应用程序中,是否可以在屏幕上多次renderPartial _form,并且每个渲染中的相同字段具有不同的ids

为什么我需要这个?我在屏幕上动态生成了标签。当用户点击user/edit/5时,我不会重定向,只需在屏幕上打开一个新标签,其中包含用于编辑内部用户的表单。当用户点击user/edit/16时,我会生成另一个具有相同表单但内部数据不同的选项卡,依此类推。这一切都有效,直到我到达date_of_birth之类的字段,我正在尝试附加DatePicker。选项卡使得有几个这样的字段的id为user-date_of_birth,因此DatePicker仅适用于其中的第一个,但不适用于其余的字段。这就是为什么我正在寻找提示,使用renderPartial生成相同的表单,但每次都有不同的ids

2 个答案:

答案 0 :(得分:0)

尝试使用render而不是renderPartial并在第二个参数中传递动态表单id。

return $this->render('_form', [
   'model' => $model,
   'formids' => 'user-'.$id
]);

并在你的_form.php

<?php $form = ActiveForm::begin([
    'id' => $formids
]); ?>

答案 1 :(得分:0)

请参阅此扩展程序yii2-dynamicform。它允许您动态呈现表单但它有其局限性 - 例如,如果您呈现的表单具有例如Select2字段或任何其他窗口小部件字段,则无法使用它