zend-framework - Zend Form 多选数组

标签 zend-framework zend-form

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

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

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

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

最佳答案

请记住,在您的 Controller 中,如果您有类似以下内容:

$this->form = new Form_Someform();

你总是可以这样做:

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

在使用 isValid() 或 populate 之前。

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

您还可以使用表单构造函数传入选择框数组,然后也在那里创建。这就是我所做的。

要记住的重要一点是,您可以控制构造函数以及表单对象的创建以及 populate() 和 isValid() 函数的使用。

希望这有帮助。

关于zend-framework - Zend Form 多选数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3538744/

相关文章:

php - Zend 表单元素错误不显示

php - Zend Framework2 中的 "IsImage validation"或 "MimeType Validator"

php - Zend Lucene 的索引文件在哪里?

php - 如何在使用 Zend_Form 输出之前将 stripslashes() 应用于所有表单元素

php - Zend Form 如何对这样的元素进行分组?

zend-framework - Zend Form 在填充时显示 Htmlentities 而不是重音符号

zend-framework - Zend Form Elements 为所有元素添加属性

php - Zend 框架 Composer 包

php - 使用在同一个 ini 文件中定义的 ini 值

php - ZendFramework 与其他框架的集成