javascript - 带 id 的 Twig javascript 路径

标签 javascript symfony twig

我通常使用这种和平的代码。

<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>

提前谢谢您。

最佳答案

不,这是不可能的,因为twig代码在服务器端被解释和执行,例如在浏览器中的javascript执行之前,你可以做的就是使用查询参数,例如:

path = '{{ path('person_edit', {'id': 0}) }}?userId='+document.getElementById("user_id").value;

在 Controller 中你确实喜欢

$request = $this->getRequest();
$userId= $request->get("userId");

但是这样你的 url 将始终带有 id 0,所以忽略它或使用 javascript 构建 url 或使用此包来完成这项工作

Fos Routing Js Bundle

关于javascript - 带 id 的 Twig javascript 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25361844/

相关文章:

php - 是否可以在 $_GET | 中设置/插入新变量$_POST | $_ session |来自 TWIG 的 $_COOKIE?

javascript - 有选择地从 <div> 获取文本

javascript - 使用 next-redux-wrapper 访问 React 外部的 Redux store

Javascript/Jquery,打开一个带有 REL 标签的链接,就好像它被点击了一样?

javascript - Symfony2 Ajax 根本不启动

object - 使用变量设置 Twig 对象属性名称

javascript - 使用 jQuery 动态填写表单值

php - symfony db和学说用户结构

php - 尝试提交表单路径以及如何将表单值传递到 URL

php - Symfony2 覆盖来自第三方包的部分模板