Я уже некоторое время использую платформу форм Symfony.Но хотелось бы знать, есть ли у кого-то лучший подход к динамическому встраиванию форм.
Проблема возникает, когда я встраиваю форму (см. Ниже), мне нужно дать ей индекс массива, поскольку Фабиан объясняет, как sfFormОбъект похож на многомерный массив в этой статье Расширенные формы .
Если я хочу дать пользователю возможность нажать кнопку и встроить другую форму, как я могу добиться следующего, если они нажимают кнопку несколько раз:
<input type="parent[child][]" />
<input type="parent[child][]" />
<input type="parent[child][]" />
...повторяется, сколько раз пользователь нажимает кнопку.Я могу использовать быстрый JavaScript для копирования и вставки элементов формы в DOM.
Вместо этого:
<input type="parent[child][1]" />
<input type="parent[child][2]" />
<input type="parent[child][3]" />
... повторяется, сколько раз пользователь нажимает кнопку.Требуется метод javascript для подсчета количества нажатий кнопки пользователем, т. Е. Для установки правильного индекса массива.Также требует, чтобы Ajax вызывал функцию PHP, которая встраивает форму с этим индексом массива.Я хотел бы избежать использования этого метода, если это возможно.
Как я встраиваю форму:
$parentForm = new ParentForm($parent)
$child = new child();
$child->setParent($parent);
$sfForm = new sfForm();
$sfForm ->embedForm($someIndex, new ChildForm($child));
$parentForm->embedForm('child', $sfForm);