如何根据Symfony 3中的表单字段值动态添加字段

时间:2018-08-01 00:27:29

标签: ajax field symfony-3.3 extra

您好,我是symfony 3中的新手Web开发人员,我的处境是我需要某种方式来使表单获得另一个额外的字段,我的表单中有一个实体类型下拉列表,名为tipoUsuario(“ userType”),我需要当在“医生”中设置此下拉菜单时,会显示一个额外的字段,我知道要提交额外的字段,我必须使用表单中的事件侦听器,但是像我这样的菜鸟,我不知道该怎么做,在什么时候这是因为使用ajax使这个多余的字段出现在我的前端中,这让我感到困惑,但这是我当时的形式:

  public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('nombre', TextType::class, array(
                 'required' => true ))
                 ->add('apellido', TextType::class, array(
                      'required' => true ))
                      ->add('correo', TextType::class, array(
                           'required' => true ))

                            -> add('tipoUsuario', EntityType::class, array(
                                        'class' => 'UsuarioBundle\Entity\tipoUsuario',
                                        'choice_label' => 'nombre',
                                        'placeholder' => 'Seleccione',
                                        'required' => true,
                                        'label'=>'Tipo de usuario',
                                        'mapped'=>false
                                    ))

                                        ->add('groups', EntityType::class, array(
                                        'class' => 'UsuarioBundle\Entity\Group',
                                        'choice_label' => 'name',
                                        'placeholder' => 'Seleccione',
                                        'required' => true,
                                        'label'=>'grupo',
                                        'mapped'=>false
                                      ))

          ;


    }

    /**
     * @param OptionsResolver $resolver
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'UsuarioBundle\Entity\Usuario'
        ));
    }
}

有人能告诉我如何使用偶数听众吗?

0 个答案:

没有答案