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-файлы на стороне клиента, а это невозможно.
Еще одно предложение, вы можете определить несколько форм. Нажав на +
перенаправляет пользователя в другую форму с добавленным полем.