我正在用symfony2创建一个简单的博客系统。每个博客后必然会有一定数量的标签。Symfony2,动态刷新表格选项
创建新博客文章时,可以使用复选框选择标签。现在我想能够动态添加新的标签复选框到表单中。
AJAX部分已完成并正在工作,我可以向标记实体添加新的标记名称并将新的复选框附加到窗体上。
问题是,当我提交表单时,symfony2无法识别新添加的标签,因为它们还不属于标签实体(在生成表单时)。
例如:提交表单后,我转储:
$tags = $form->get('tags')->getData();
控制器忽略通过Ajax添加的标记。
我知道它必须以某种方式解决事件,我已经阅读了这个文档:http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html,但无法弄清楚如何在这个特定的情况下实现它。
这里是我的“PostType”表单生成器:
$builder
->add('title')
->add('content', 'textarea')
->add('tags', 'entity', array(
'class' => 'Bundle:Tag',
'property' => 'name',
'multiple' => true,
'expanded' => true,
))
->add('save', 'submit')
;