我的代码设置如下例所示:http://symfony.com/doc/current/cookbook/form/form_collections.html
唯一不同的是,我通过选择框的更改事件(包含一些标记类型)添加标记字段,而不是单击“添加标记”链接。
我想添加的是根据所选标记类型添加不同表单字段的选项。 (这就是我使用change事件而不是add-tag链接的原因)
例如:
如果我选择标签类型'simple',则应该呈现一个表单字段,即'fieldName'
如果我选择标签类型'高级',则应呈现两个表单字段,即'fieldName1'和'fieldName2'
我该怎么做?我应该定义多个原型吗?还是有更聪明的方法?
答案 0 :(得分:0)
当我更改选择框的值时,ajax调用的类型为" post"。 该调用在我的控制器中执行一个动作。该动作将再次构建相同的形式。
PRE_SET_DATA事件监听器将负责通过表单修饰符函数(基于选择框中选择的值)将表单字段添加到主表单。
最后但并非最不重要:POST_SUBMIT事件监听器调用相同的form-modifier函数以避免"表单不能包含任何额外字段"错误。