Zend Framework - Добавить новый элемент ввода, используя JavaScript

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

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

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

Они покажут, когда страница отображается

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

2 ответа

Решение

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

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

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

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

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

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


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

Другие вопросы по тегам