Twig: передать значение текстового поля в качестве параметра маршрутизации - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь перенаправить на другую страницу, и мне нужно передать значение текстового поля. Это мой код:

{% 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 и route в блоке body?

1 Ответ

0 голосов
/ 07 января 2019

Вам нужно получить его из массива app.request.

Это работает для POST

app.request.get('nameFiled')

Это работает для GET

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

если ваше имя для ввода nameField

<input name="nameField">
...