javascript - Twig:将文本字段值作为路由参数传递
问题描述
我正在尝试路由到另一个页面,我需要传递一个文本字段值。这是我的代码:
{% extends "base.html.twig" %}
{% block body %}
<button onclick="host()">Host the session</button>
<button onclick="join()">Join as player</button>
<label>
Player name:
<input type="text" id="nameField">
</label>
{% endblock %}
{% block javascripts %}
<script>
function host() {
location.href = "{{ path('host') }}";
}
function join() {
location.href = "{{ path('player', {'playerName' : nameField.value}) }}";
}
</script>
{% endblock %}
当我单击加入时,我得到一个运行时异常,说“nameField”不存在。我尝试将文本字段值放入 javascript 变量中,但我也无法引用该变量。
有可能像这样路由吗?或者,我可以以某种方式避免直接在正文块中使用 javascript 和路由吗?
解决方案
您需要从 app.request 数组中获取它。
这适用于 POST
app.request.get('nameFiled')
这适用于 GET
app.request.query.get('nameFiled')
如果您的输入名称是 nameField
<input name="nameField">
推荐阅读
- html - DevExtreme 弹出窗口没有内容。(内容为空)
- powershell - 我可以作为普通用户将outlook通讯录导出到csv吗?
- javascript - 删除选择框标签中不需要的文本
- android - 在android studio中删除多个项目
- android - 授权错误 - 通过 Android Webview 登录 Google
- json - 文件夹中多个 json(嵌套)文件的 Elasticsearch logstash 配置
- javascript - 将文本文件加载到 JQuery 数据表中
- javascript - 你如何在 React-Native 视图中截断 Form.Label 文本?
- .net-core - 如何访问 Power BI 报表服务器 REST API
- python - ImportError:无法导入名称 '_ColumnEntity' Ubuntu20.10