单击按钮时复制表单

我有一个包含 2 个字段的非常简单的表单,我要做的只是一个按钮,用户可以在其中复制此表单以在一批中添加多个条目。


我想做什么(我还不能整合图像,sry ..)


我不确定如何集成它,我找到了一些关于表单集合的文档,但我不确定它是否符合我的需要,另外它是用于 Symfony 2,我使用的是最新版本(Symfony 5)


我想我可以添加我的按钮href='#?duplicateForm=1'并使用控制器和类型来处理它,但这对我来说似乎不是一个合适的解决方案......在for语句中抛出用户输入是个坏主意。


我的类型类:


表单因当前用户角色而异,管理员有更多字段。


class NetworkFolderAccessType extends AbstractType

{

    public function buildForm(FormBuilderInterface $builder, array $options)

    {

        if ($options['type'] == 'ADMIN_FORM'){

            $builder

            ->add('userId', EntityType::class, [

                'class' => User::class,

                'choice_label' => function ($user) {

                    return $user->getNom() . ' ' . $user->getPrenom() .' ('. $user->getUsername().')';

                },

                'label'=>'Demandeur',

                'attr'=> [

                    'class'=>'form-control'

                ]

            ])

            ->add('validated',ChoiceType::class,[

                'expanded'=>false,

                'multiple'=>false,

                'choices'=>['Oui'=>true,'Non'=>false],

                'label'=>'Validé par le responsable',

                'attr'=> [

                    'class'=>'form-control'

                ],

                'choice_attr'=> [

                    'class'=>'checkbox-inline'

                ]

            ]);

        }

        if($options['type'] == 'USER_FORM' || $options['type'] == 'ADMIN_FORM'){

            $builder

            ->add('dataPath',TextType::class,[

                'attr'=> [

                    'class'=>'form-control'

                ],

                'label'=>'Chemin d\'accès'

            ])

    }


慕桂英4014372
浏览 116回答 1
1回答

慕少森

你看过symfonyCast 上的这些教程了吗?它完全符合您的需求(从第 18 章到最后)它将向您展示如何使用 OneToMany 关系、表单原型和 Collection 类型来添加和/或删除嵌入的表单。
打开App,查看更多内容
随时随地看视频慕课网APP