Множественный выбор Zend Form - PullRequest
4 голосов
/ 22 августа 2010

Я использую Zend Framework и настроил обычную Zend Form, чего я хочу добиться, так это иметь кнопку (с некоторым javascript), которая говорит «добавить больше» и добавляет еще одно выпадающее меню, такое же, как в настройкев форме Zend (клон этого).

в основном, когда нажимается кнопка, добавляется еще одно поле выбора, например:

<select name="type[]"> ...</select>

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

1 Ответ

2 голосов
/ 22 августа 2010

Хорошо помните, что в вашем контроллере, если у вас есть что-то вроде:

$this->form = new Form_Someform();

Вы всегда можете сделать:

$this->form->addElement(etc...)

Прямо перед использованием isValid () или заполнить.

Таким образом, в вашем контроллере, когда кто-то отправляет форму, при создании объекта формы вы можете проверить, были ли какие-либо объекты выбора созданы динамически, а затем создать соответствующие Zend_Elements и просто проверить их.Кроме того, когда вы перезагружаете эту форму, вы просто создаете элементы в зависимости от того, что находится в вашей базе данных.

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

Важно помнить, что у вас есть контроль над конструктором и объектом формы между его созданием и использованием функций populate () и isValid ().

Надеюсь, это поможет.

...