Разрешить пользователю добавлять поля в форму, созданную с помощью Zend Framework

Я использую Zend Framework, и в настоящее время у меня есть существующая форма с использованием zend-формы, которая функционирует по мере необходимости.

Я хочу добавить к нему еще одно необязательное текстовое поле, но разрешить пользователю выбирать отображение поля, а также отображать его несколько раз. например, регистрационная форма пользователя с областью «альтернативных адресов электронной почты», позволяющая пользователю добавлять дополнительные текстовые поля для каждого из своих адресов электронной почты.

К сожалению, я не уверен, как это сделать. Я думаю, что подформы могут быть способом продвижения вперед, но не слишком уверенными.

В идеальном случае, как только форма будет отправлена, мне нужны данные в массиве, чтобы потом обработать ее для хранения в таблице MySQL.

Solutions Collecting From Web of "Разрешить пользователю добавлять поля в форму, созданную с помощью Zend Framework"

Смотрите превосходный пост Джереми Кендалла по динамическому добавлению полей в форму:

Динамическое добавление элементов в Zend_Form

Upshot – использовать jQuery на стороне клиента для добавления полей и ведения реестра новых полей. Затем на стороне сервера вызовите новый preValidate() объекта формы, который проверяет опубликованный реестр и добавляет обязательные поля в объект $form перед стандартной обработкой – как isValid() и getValues() – вызывается.

Почему бы вам не сделать вызов AJAX для метода addfieldAction (), в котором вы создаете HTML другого текстового поля и возвращаете его? Вы все еще можете использовать форму Zend, и вся форма может быть обработана обычным способом.