提交后在输入表单中保留值

时间:2017-09-19 09:27:04

标签: javascript symfony input

我的twig中有一个小的html表单可以帮助我过滤结果,我希望当用户添加一个值作为示例foo并提交时,它会保留他/她刚刚输入的值页面刷新。

我一直在寻找并且无法找到可以使其发挥作用的东西,或者我这样做非常糟糕。 我现在唯一的解决方法是在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但是......这不是一个好主意,因为我无法使其工作。 所以我遇到了一个相当简单的问题,但是在树枝刷新之后我无法真正实现我的投入。

1 个答案:

答案 0 :(得分:3)

您可以根据文档访问请求对象:https://symfony.com/doc/current/reference/twig_reference.html#app

所以也许你可以试试这个:

<input name="filter" type="text" value="{{ app.request.query.get('filter') }}" id=userInput">