0
我有一个表格控制网站导航栏搜索栏:Symfony3表单生成的setAction不会重定向路由
public function searchFormAction()
{
$form = $this->createFormBuilder()
->setAction($this->generateUrl('search'))
->setMethod('GET')
->add("value", TextType::class, array('label' => false))
->add("Search", SubmitType::class)
->getForm();
return $this->render('components/search-form.html.twig', [
"form" => $form->createView()
]);
}
正如你所看到的,形式有一个具体行动路径此功能:
/**
* @Route("/search", name="search")
*/
public function searchAction(Request $request)
{
return $this -> render ("post/post-search.html.twig", [
"value" => $request->query->get('value')
]);
}
现在,这不应该只是显示页面上的值。
的问题是,该网站时失败的形式使用
所以,当我把FOO在搜索重定向,并点击提交的路径是这样的:
本地主机:8000 /页?表单%5Bvalue%5D = foo的&形式%5BSearch%5D = &形式%5B_token%5D = PsouIRAy2QaQ8j2XO_uYrs7PcaR6jyjQN3W3_xRMdgw
而且如果我去localhost:8000/search
,并尝试为p取消任何东西到搜索栏中,不会打印任何值。
下面是如何的形式呈现:
//search-form.html.twig
<form class="navbar-form navbar-left">
{{ form_start(form) }}
<div class="form-group">
{{ form_row(form.value) }}
</div>
{{ form_row(form.Search) }}
{{ form_end(form) }}
</form>
,并放置在基导航栏:
//base.html.twig
//...
{{ render(controller(
'AppBundle:Form:searchForm'
)) }}
//...
检查的元件示出了形式标签没有动作和方法属性
这里有什么问题,我该如何解决?
当你的表单在浏览器上呈现时,它是怎样的?你可以检查你的网络检查员,拍一张快照,并在这里发布? – CodeGodie
你如何在树枝中呈现你的表单? – goto
表单在检查器中没有“操作”或“方法”属性。 我已经添加了枝条渲染元素 – aln447