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