Форма Symfony2: как получить значение submited в URL?

Что мне нужно, это "onSubmit", чтобы получить значение "query" и поместить его в маршрут "_search_all", обычно это будет выглядеть как => {{ path('_search_all', {'slug': query_val} ) }} таким образом, я могу получить такой маршрут в моем браузере localhost/search-all/symfony2

Текущая форма

    <form class="searchbar" method="POST" action="{{ path('_search_all') }}">
        <input name="submit" type="submit" value="Search"/>
        <span>
         <input type="text" name="query" required/>
        </span>
    </form>

Решения на данный момент:

  1. method="GET" однако это создаст "некрасивый" вид URL
  2. использовать friendsofsymfony/jsrouting-bundle

любые входные данные приветствуются

1 ответ

Вам нужно использовать onSubmit событие и установить переменную javascript, которая содержит путь; в качестве образца попробуйте что-то вроде:

var frm_action = "{{ path('_search_all', {'keyword' : ''}) }}";
$(document).ready(function() {
   $('#myForm').attr('action', frm_action + $('input[name="query"]').val());
});

и вам нужно добавить идентификатор в форму:

<form class="searchbar" method="POST" id="myForm" action="" >
Другие вопросы по тегам