Zend Framework - Добавить новый элемент ввода, используя JavaScript - PullRequest
6 голосов
/ 12 апреля 2011

Я работаю над проектом с использованием Zend Framework.

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

Zend Framework используетподчиненные формы и декораторы для получения массива значений из формы.

Они будут отображаться при отображении страницы

Как новые поля, созданные с помощью Javascript, интегрируются в эту модель?

Ответы [ 2 ]

5 голосов
/ 12 апреля 2011

Лучшая демонстрация динамического добавления полей на клиенте к Zend_Form, с которой я знаком, получена от Джереми Кендалла:

http://jeremykendall.net/2009/01/19/dynamically-adding-elements-to-zend-form/

Результатом этой техники являетсядобавьте / вызовите метод preValidation() в форме, чтобы проверить сообщение на наличие полей в форме.Если он находит такие поля, они добавляются в объект формы.К моменту вызова isValid() и getValues() все объекты Zend_Form_Element уже прикреплены к форме, поэтому обработка выполняется в обычном режиме.

2 голосов
/ 12 апреля 2011

Одним из предложений будет определение всех полей ввода, которые вы хотите предоставить, используя Zend Form.

Но когда форма отображается, вы можете скрыть определенные поля и сделать их видимыми , нажав +.

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


Еще одно предложение, вы можете определить несколько форм. Нажатие на + перенаправляет пользователя в другую форму с добавленным полем.

...