我通常使用这段代码。
<a href="{{ path('person_edit', {'id': 0}) }}' + document.getElementById('person_search').value;">
Goto item
</a>
这将为路线
/edit/{id}
生成正确的网址,但是当我可以将路线更改为{id}/edit
时,我必须重写此代码。(不太有效。)
是否有可能在“id”内使用
document.getElementById('person_search').value
。
EG (不起作用):
<a href="{{ path('person_edit', {'id': 'document.getElementById('person_search').value'}) }}">
Goto item
</a>
提前谢谢您。
不,这是不可能的,因为 twig 代码在服务器端被解释和执行,例如在浏览器中的 JavaScript 执行之前,你可以做的就是使用查询参数,例如:
path = '{{ path('person_edit', {'id': 0}) }}?userId='+document.getElementById("user_id").value;
在你喜欢的控制器中
$request = $this->getRequest();
$userId= $request->get("userId");
但是这样你的 url 将始终是 id 0 所以忽略它或使用 javascript 构建 url 或使用这个完成这项工作的包