Jquery Symfony在前端添加表单字段

Jquery Symfony在前端添加表单字段,jquery,forms,symfony,Jquery,Forms,Symfony,我对Symfony比较陌生,尝试寻找解决此问题的方法,但没有找到任何方法。我试图让用户(在前端)将表单字段添加到表单中 我正在制作一个应用程序,用户可以发布食谱,用户应该能够将配料表单字段添加到表单中,我知道如何在纯html和jQuery中实现这一点,但我不知道如何在Symfony中管理它 这就是我目前构建表单的方式: class UserType extends AbstractType { public function buildForm(FormBuilderInterface

我对Symfony比较陌生,尝试寻找解决此问题的方法,但没有找到任何方法。我试图让用户(在前端)将表单字段添加到表单中

我正在制作一个应用程序,用户可以发布食谱,用户应该能够将配料表单字段添加到表单中,我知道如何在纯html和jQuery中实现这一点,但我不知道如何在Symfony中管理它

这就是我目前构建表单的方式:

class UserType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('username', 'text');
        $builder->add('email', 'email');
        $builder->add('password', 'repeated', array(
           'first_name'  => 'password',
           'second_name' => 'confirm',
           'type'        => 'password',
        ));
        $builder->add('address', new AddressType());
        $builder->add('Registreer', 'submit');
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Acme\DemoBundle\Entity\User'
        ));
    }

    public function getName()
    {
        return 'user';
    }
}
这是我想看到的结果,我如何在Symfony中实现这样的目标

HTML

<a href="#" id="add">Add ingredient</a>
<form>
    <p><input type="text" name="ingredient[]" /></p>
</form>

jQuery

$(function(){

    console.log('ready')

    $('#add').click(function(){
        $('form').append('<p><input type="text" name="ingredient[]" /><a href="#" class="remove">Remove</a></p>');
    })

    $('form').on('click', '.remove', function(){
        $(this).parent().remove();
    })

})
$(函数(){
console.log('ready')
$('#添加')。单击(函数(){
$('form')。追加('p>

'); }) $('form')。在('click','remove',function()上{ $(this.parent().remove(); }) })
JSFiddle


当然了。它们被称为集合:

你应该在我的一篇帖子中找到你所需要的一切:


如果您有任何问题/需要帮助,我非常了解收集类型,并很乐意为您提供帮助。

阅读此文档-您是否有使用此方法的示例表单的链接?是的,您需要什么文件?一个php表单类,一个twig模板,…?不是在找一个文件,我只是想知道你在哪里有一个工作的演示?我的项目中有一个工作的例子,但它不是公开的。相信我,到目前为止,我做了很多收集工作,我相信这是最好的方法之一。