Twig:将文本字段值作为路由参数传递

时间:2019-01-07 09:55:29

标签: javascript html symfony routing 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”不存在。我尝试将textfield值放入一个javascript变量中,但我也无法引用该变量。
是否有可能像这样进行路由?另外,我是否可以避免在主体块中直接使用javascript和route?

1 个答案:

答案 0 :(得分:-1)

您需要从app.request数组中获取它。

这适用于POST

app.request.get('nameFiled')

这适用于GET

app.request.query.get('nameFiled')

如果您输入的名称是nameField

<input name="nameField">