发送表单,只有哈希到网址地址Symfony2

时间:2013-07-14 12:56:25

标签: forms symfony

我在将数据从表单发送到数据库时遇到问题。我的表单已生成,但他们没有发送任何数据只有重定向后点击发送表单到网址# 什么可以解决问题 请看它我没有想法,这是非常重要的项目。 https://github.com/szopenkrk/mgr

这是来自控制器的parf:

   /**
* @Route("/autor.html", name="url_autor")
* @Template()
*/
    public function autorAction()
    {
        $document = new Work();
        $form = $this->createFormBuilder($document)
            ->add('contentWork', 'text')
            ->add('workDate', 'date')
            ->add('title')
            ->add('file')
            ->getForm()
        ;

        $loggedUser = $this->getUser();

        if ($this->getRequest()->isMethod('POST')) {
            $form->bind($this->getRequest());
            if ($form->isValid()) {
                $em = $this->getDoctrine()->getManager();
                /** @var $document \My\WorkBundle\Entity\Work */
                $document->setAuthor($loggedUser);
                $em->persist($document);
                $em->flush();

                return $this->redirect($this->generateUrl("url_thanks"));
            }
        }

        return array('form' => $form->createView());
    }

这是实体的一部分: https://github.com/szopenkrk/mgr/blob/master/src/My/WorkBundle/Entity/Work.php

1 个答案:

答案 0 :(得分:0)

原因是当您渲染表单时,您没有为表单设置适当的操作。相反,你输入“#”,这就是你得到它的原因。

因此,您只需要在表单元素中更改操作属性。例如,作者视图更改:

<form action="#" method="post" {{ form_enctype(form) }}>

<form action="{{ path('url_author') }}" method="post" {{ form_enctype(form) }}>