Я пытался динамически добавлять элементы в yii 1.1 TbActiveForm. Я попробовал два способа сделать это, но не удается, когда дело доходит до проверки. Пожалуйста, посмотрите мои методы ниже.
Метод 1 # Клонировать элементы; изменить идентификаторы
Вот как я создаю форму
$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
'id' => 'form-name',
'enableClientValidation' => true,
'clientOptions' => array(
'validateOnSubmit'=>true
),
'action' => $this->createUrl('test/manageusers')
));
При нажатии на кнопку «Добавить еще» этот скрипт будет дублировать элементы
$('#add-comp-user').on('click', function(){
// template
var html = $('.add-comp-users-wrapper').first().clone();
// next element index
var next_index = // find last element's index attribute
// update element id's
html.find(':input').each(function(){
// update name
// update id
});
// insert to DOM
});
Метод 2 # Аякс метод
Здесь, при нажатии на кнопку «Добавить больше», я буду рендерить элементы формы с новым идентификатором и вставлять в DOM
Оба эти метода не прошли проверку. Как я могу включить недавно добавленный элемент в проверку Yii?
Задача ещё не решена.
Других решений пока нет …