Разрешить пользователю добавлять поля в форму, созданную с помощью Zend Framework - PullRequest
3 голосов
/ 14 июля 2011

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

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

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

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

Ответы [ 2 ]

4 голосов
/ 14 июля 2011

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

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

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

0 голосов
/ 14 июля 2011

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

...