我这里有一个表单,其中有一个包含数字的文本字段。在表单的另一部分中有行,它们与输入的数字相对应。例如2 = 2行等。 所以我的想法是创建一行由javascript复制。所以我必须创建一个输入元素,其名称在数组中,如name =“input []”我如何在Zend Framework中执行此操作?
我发现这种问题的唯一方法是使用子表单。但每个Subform都有一个明确的名称,不在数组中。
答案 0 :(得分:0)
要使呈现的Zend_Form
响应客户端更改 - 如在您的示例中,允许用户输入他想要的行数 - 您需要客户端和服务器处理。
证明总体思路的最好例子来自Jeremy Kendall:
jeremykendall.net » Blog Archive » Dynamically Adding Elements to Zend_Form
结果是你有客户端代码添加跟踪字段数,然后是preValidation()
方法,在$form
实例之前将正确数量的字段注入isValid()
实例被叫。
[如评论中所述,此preValidation()
处理可以捆绑到isValid()
,以便控制器保持不变。]