Zend Form多选数组

时间:2010-08-21 20:04:38

标签: zend-framework zend-form

我正在使用Zend Framework并设置了一个普通的Zend表单,我想要尝试实现的是有一个按钮(带有一些javascript),表示添加更多,它添加了另一个下拉菜单,与一个设置相同以zend形式(它的克隆)。

基本上单击按钮时会添加另一个选择框,如下所示:

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

我可以使用不同的名称复制多选框并将其插入DOM并从Zend表单之外的控制器中捕获帖子,但我想知道是否有正确的方法来实现这一点能够在编辑存储在db中的当前数据时验证和填充额外的字段,如果有任何额外的..任何帮助表示赞赏,谢谢。

1 个答案:

答案 0 :(得分:2)

请记住,如果您有类似的话,请在控制器中使用:

$this->form = new Form_Someform();

你总是可以这样做:

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

在使用isValid()或填充之前。

因此,在您的控制器中,当有人提交表单时,在创建表单对象时,您可以检查是否已动态创建任何选择,然后创建相应的Zend_Elements并对其进行验证。 此外,当您重新加载该表单时,您只需根据数据库中的内容创建元素。

你也可以使用表单构造函数传入一个选择框数组,然后在那里创建。那就是我做的事。

要记住的重要事项是,您可以在构造函数和表单对象之间控制其创建和使用populate()和isValid()函数。

希望这有帮助。