代码之家  ›  专栏  ›  技术社区  ›  N.Jourdan

如何在嵌入式控制器中提交表单?

  •  0
  • N.Jourdan  · 技术社区  · 9 年前

    我想用我的服务在页脚上做一个时事通讯。为此,我必须在视图中嵌入控制器:

    {{ render(controller('AppBundle:RegisterNewsletter:registerToTheNewsletter')) }}
    

    public function registerToTheNewsletterAction(Request $request)
    {
        $form = $this->createFormBuilder()
            ->add('email', EmailType::class)
            ->add('subscribe', SubmitType::class)
            ->getForm();
    
        $form->handleRequest($request);
    
        if ($form->isSubmitted() && $form->isValid()) {
            $data = $form->getData();
            var_dump($data);
            die;
        }
    
        return $this->render('include/registerNewsletter.html.twig', array('form' => $form->createView()));
    }
    

    谢谢你的帮助

    1 回复  |  直到 9 年前
        1
  •  0
  •   N.Jourdan    9 年前

    我有一个解决方案,当我说的时候,我必须在视图中嵌入一个控制器。事实上,在提交过程中,页面被刷新,数据丢失。

    所以我改变了表单的动作,将数据重定向到另一个路径上,数据在另一个动作中处理,然后重定向到referer。

    如果你想要更多的解释,问我

    推荐文章