Сохранение значения в форме ввода после отправки

1

У меня есть небольшая форма html в моей ветке, которая помогает мне фильтровать результаты, и я хотел бы, когда пользователь добавит значение в качестве примера foo и submit, он сохранит значение, которое он или она просто ввел после обновления страницы.

Я искал и не мог найти вещь, которая заставит ее работать, или я делаю это очень плохо. Мое единственное решение теперь сделать это в JS.

Я покажу вам свой код

моя форма в моей ветке

<form action="{{ path('st_backoffice_commerce_offre') }}" method="get">
       <input name="filter" type="text" value="" id=userInput">
       <button type="submit" class="btn btn-default">Filtrer</button>
</form>

мой контроллер, где я настраиваю переменную filter

private function resultsAction(Request $request, User $user, $type, $archive)
    {
        $em = $this->getDoctrine()->getManager();

        $paginator = $this->get('knp_paginator');
        $filter = $request->query->get('filter');

        $qb = $em->getRepository("STUserBundle:Operation")->getQueryByTypeAndPro($type, $user, $archive, $filter);

        $results = $paginator->paginate(
            $qb,
            $request->query->get('page',1),
            $request->query->get('limit',50),
            [
                'defaultSortFieldName'      => 'opn.dateCreation',
                'defaultSortDirection' => 'desc'
            ]
        );

        return array("results" => $results, "archive" => $archive);
    }

public function offreAction(Request $request, User $user, $archive = false)
    {
        return $this->resultsAction($request, $user, Operation::OFFRE_COMMERCIALE, $archive);
    }

и код JS, который я нашел, чтобы попытаться сделать эту работу

var $userInput;
    $("filter").on("change", function(){
        $userInput = $("filter").val();
    });

Я попробовал также PHP-код в twig, но... это была не очень хорошая идея, так как я не мог заставить его работать. Так что я застрял с довольно простым вопросом, который у меня был, но не смог добиться моего вклада, чтобы остаться после обновления на ветке.

Теги:
input

1 ответ

3
Лучший ответ

Вы можете получить доступ к объекту запроса по ветке согласно документации: https://symfony.com/doc/current/reference/twig_reference.html#app

Поэтому, возможно, вы можете попробовать следующее:

<input name="filter" type="text" value="{{ app.request.query.get('filter') }}" id=userInput">
  • 0
    Большое спасибо за ваш ответ :) это работает отлично. На самом деле с вашим методом мне даже не нужен JS

Ещё вопросы

Сообщество Overcoder
Наверх
Меню