我通常使用这种代码安静。
<a href="{{ path('person_edit', {'id': 0}) }}' + document.getElementById('person_search').value;">
Goto item
</a>
这将为路由/edit/{id}
生成正确的URL,但是当我可以将路由更改为{id}/edit
时,我必须重写此代码。(不太有效。)
是否有可能在'id'中使用document.getElementById('person_search').value
。
E.G。 (不起作用):
<a href="{{ path('person_edit', {'id': 'document.getElementById('person_search').value'}) }}">
Goto item
</a>
提前谢谢。
答案 0 :(得分:2)
不可能这是不可能的,因为在您的浏览器中执行javascript之前,twig代码会被解释并执行服务器,你可以肯定地使用查询参数,如:
path = '{{ path('person_edit', {'id': 0}) }}?userId='+document.getElementById("user_id").value;
你喜欢的控制器
$request = $this->getRequest();
$userId= $request->get("userId");
但是这样你的网址将永远是id 0,所以省略它或者使用javascript构建url或使用这个工作的bundle