【问题标题】:Symfony2: Fill some fields of a form with post dataSymfony2:用帖子数据填充表单的某些字段
【发布时间】:2013-09-26 11:37:37
【问题描述】:

我有一个可以正常工作的联系表。但是当用户单击一个链接时,我想填写其中的一些字段。我在表单控制器中收到了一些字段的信息,但我不知道如何用这些数据显示这个表单。

谢谢!

【问题讨论】:

    标签: php forms symfony


    【解决方案1】:

    您可以在创建表单时传递一个与您的数据字段相对应的对象:

    在您的控制器中:

        $task = new Task();
        $task->setTask('Write a blog post');
        $task->setDueDate(new \DateTime('tomorrow'));
    
        $form = $this->createFormBuilder($task)
            ->add('task', 'text')
            ->add('dueDate', 'date')
            ->add('save', 'submit')
            ->getForm();
    

    或者,如果您有自己的 FormType 类,请将其绑定到您的实体:

    class MyFormType extends AbstractType
    {
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            // Build form here
        }
        public function setDefaultOptions(OptionsResolverInterface $resolver)
        {
            // Bind entity here
            $resolver->setDefaults(array(
                'data_class' => 'BlueLinea\Bundle\BlueHomeCareBundle\Entity\MyEntity',
            ));
        }
    }
    

    在你的控制器中:

    $myEntity = new MyEntity();
    $form = $this->createForm(new MyFormType(), $myEntity);
    

    见Forms (Building the Form) - Symfony

    【讨论】:

    • 非常感谢,但如果我这样做,表单会尝试单独提交,无需用户按下“提交按钮”,我想显示此字段已填充且其他字段为空的表单以供用户写入它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 2011-06-12
    • 1970-01-01
    相关资源
    最近更新 更多