Php 表格Symfony 2.3认购

Php 表格Symfony 2.3认购,php,forms,symfony,Php,Forms,Symfony,我正在用Symfony 2.3制作一个表格,以便订阅一份时事通讯。 表单在自己的模板(newsletter.html.twig)中运行良好 我的控制器操作: 我的工作模板(newsletter.html.twig): 无法使用的我的模板(index.html.twig): 表单正在显示,但它不工作。可能是错过了什么。有没有人有过同样的问题,可以给我解释一下。谢谢。我认为当您提交表单时,POST数据会到达索引中。此操作不会验证表单并呈现正常页面。渲染时,它将调用Global:newsletter操

我正在用Symfony 2.3制作一个表格,以便订阅一份时事通讯。 表单在自己的模板(newsletter.html.twig)中运行良好

我的控制器操作: 我的工作模板(newsletter.html.twig): 无法使用的我的模板(index.html.twig):
表单正在显示,但它不工作。可能是错过了什么。有没有人有过同样的问题,可以给我解释一下。谢谢。

我认为当您提交表单时,POST数据会到达索引中。此操作不会验证表单并呈现正常页面。渲染时,它将调用Global:newsletter操作,但只是作为GET方法中的一个子请求,而不使用表单数据

您可以尝试对formdata应用操作

    $form = $this->createFormBuilder($newsletter, array(
        'action' => $this->generateUrl('global_newsletter'),
        'method' => 'POST',
    ))
   ->add('email', 'email')
   ->add('submit', 'submit')
   ->getForm();

谢谢你开导我。它从index.html.twig页面开始工作,但正在重定向到newsletter.html.twig。我需要留在index.html.twig上。我正在寻找一个解决方案。我刚才有:“return$this->redirect($this->generateUrl('targeturl_index'));”返回到主页“$form->isValid()”末尾。而且效果很好。是的,这是一个解决方案。另一种选择是使用AJAX提交表单。
{{ form(form) }}
////
{% render (controller("EmooviofrontBundle:Global:newsletter")) %}
////
    $form = $this->createFormBuilder($newsletter, array(
        'action' => $this->generateUrl('global_newsletter'),
        'method' => 'POST',
    ))
   ->add('email', 'email')
   ->add('submit', 'submit')
   ->getForm();