[英]How to implement the event listener to a radio button on Symfony2?
这是我的表格
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('nombreBD','text', array( 'required' => true, 'label' => 'Nombre Base de Datos: '))
->add('Servidor', 'choice', array(
'choices' => array('1' => 'Si', '0' => 'No'),
'required' => true,
'multiple' => false,
'expanded' => true,
'label' => 'Servidor Existente?'
))
->add('ServidorBD','entity',
array ('class' => 'MonseWebBundle:ServidoresBD',
'multiple' => true,
'required' => true,
'label' => 'Servidor de Base de Datos: ',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')
->orderBy('u.url', 'ASC');
},
))
;
}
我想做的是,如果用户在单选按钮中选择“否”,则“ ServidorBD”实体不应显示,而应显示另一种形式(动态加载它或将用户重定向到另一个URL)添加一个新的。 由于我是Symfony2的新手,因此我不太了解如何将事件监听器附加到“单选按钮”,也不知道在发生这种情况时如何显示其他形式的表单而不是“ ServidorBD”。
请帮忙! TT
您要做的就是根据要绑定在表单上的数据动态构建表单。
在Symfony 2.0.x或2.1.x中,表单组件在绑定数据后无法更改表单结构。 这将在Symfony 2.2中完成。
看到这个问题: https : //github.com/symfony/symfony/issues/3767
因此,当前,您不能使用表单事件监听器来存档此用例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.