Подскажите, пожалуйста, как сделать добавление дополнительных полей по клику, с их последующей валидацией на странице на которую они добавляются.
Имею в _form
Код: Выделить всё
<h2>Дополнительные поля.</h2>
<p>
<?= Html::button("Показать", ['class' => 'add btn btn-success']) ?>
<?= Html::button("Скрыть", ['class' => 'delete btn btn-warning']) ?>
</p>
<!-- Блок для добавления дополнительных полей. -->
<div class="ap-dap-field"></div>
$js = <<< JS
$('.add').click(function(){
$('.ap-dap-field').fadeIn(0, function() {
$('.ap-dap-field').load('dap-fields');
});
});
$('.delete').click(function() {
$('.ap-dap-field').fadeOut(500, function() {
$('.ap-dap-field').empty();
});
});
JS;
$this->registerJs($js);
Код: Выделить всё
public function actionDapFields()
{
$dap = new Dap();
return $this->renderAjax('dap-fields', [
'dap' => $dap,
'customer' => User::getArrayValue('username'),
'complexity' => Ngpv::getArrayMap('gruppa-sloznosti'),
]);
}
Код: Выделить всё
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?>
<?= $form->field($dap, 'scrabbled')->textInput(['maxlength' => true]) ?>
// Остальные поля
<?php ActiveForm::end(); ?>