允许用户向使用Zend框架创建的表单添加字段


Allow a User to Add Fields to a Form Created With Zend Framework

我正在使用Zend框架,我目前有一个使用Zend -form的现有表单,该表单根据需要发挥作用。

我想为它添加另一个可选的文本字段,但允许用户选择显示该字段并多次显示它。例如,一个用户注册表单,有一个"备选电子邮件"区域,允许用户为他们的每个电子邮件地址添加进一步的文本字段。

不幸的是,我不知道该怎么做。我认为子表单可能是未来的发展方向,但不太确定。

理想情况下,一旦表单被提交,我希望数据在一个数组中,以便我可以处理它,然后存储在一个MySQL表中。

查看Jeremy Kendall关于动态添加字段到表单的精彩文章:

动态添加元素到Zend_Form

结果是在客户端使用jQuery来添加字段并维护新字段的注册表。然后在服务器端,在表单对象上调用一个新的preValidate()方法,该方法检查发布的注册表,并在调用标准处理(如isValid()getValues())之前将所需字段添加到$form对象中。

为什么不通过AJAX调用addfieldAction()方法生成另一个文本字段的HTML并返回它呢?您仍然可以使用Zend Form,并且可以按正常方式处理整个表单。