Zend Form динамический номер строки с JavaScript - PullRequest
2 голосов
/ 21 октября 2011

У меня есть форма, в которой есть текстовое поле, содержащее число. В другой части формы есть строки, которые совпадают с введенным числом. Например 2 = 2 строки и т. Д. Поэтому моя идея состоит в том, чтобы создать одну строку, которая дублируется JavaScript. Поэтому я должен создать элемент ввода, имя которого находится в массиве, например name = "input []", как я могу сделать это в Zend Framework?

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

1 Ответ

0 голосов
/ 21 октября 2011

Чтобы визуализированный Zend_Form отвечал на изменения на стороне клиента - как в вашем примере, чтобы позволить пользователю вводить количество строк, которое он хочет - вам нужна и обработка на стороне клиента и на сервере.

Лучший пример, демонстрирующий общую идею, от Джереми Кендалла:

jeremykendall.net »Архив блога» Динамическое добавление элементов в Zend_Form

В результате у вас есть код на стороне клиента, который добавляет отслеживание количества полей, а затем метод preValidation(), который вставляет нужное количество полей в экземпляр $form до вызова isValid().

[Как отмечается в комментариях, эта preValidation() обработка может быть просто включена в isValid(), так что контроллер остается неизменным.]

...