laravel在按下按钮后不会刷新表单数据

时间:2019-03-11 03:14:19

标签: laravel laravel-5

我有一个基于选择的表格,用于使用过滤器进行搜索(下面附有图片)。 当我按下搜索按钮时,页面会重新加载,并重置所有选择。

我尝试使用旧的帮助器,但是它不能正常工作,它仅采用了select的第一个选项(并且它摆脱了默认选项,如下图所示)

须知: 它是具有 get 操作的表单,它不用于存储或编辑内容,仅用于搜索。那么,刷新或按搜索按钮后如何正确获取旧数据?

Example1 example2 examplegui

这是我的第一次尝试,但没有成功 这也一样。 如该图所示,它将删除默认选项,并显示第一个选项

2 个答案:

答案 0 :(得分:0)

old()函数将通过特定键从闪存数据中获取数据。这意味着您必须在使用old()之前将数据设置为闪存。

来源:https://github.com/laravel/framework/blob/e6c8aa0e39d8f91068ad1c299546536e9f25ef63/src/Illuminate/Http/Concerns/InteractsWithFlashData.php

文档:https://laravel.com/docs/5.8/requests#old-input

在这种情况下,如果要刷新并保留输入,我建议使用前端处理方式:当您更改下拉列表的输入时,请使用javascript将新的查询字符串参数推入URL( How can I add or update a query string parameter?)。在用户尝试刷新页面之前,URL保留了您的旧值。在刀片形式中,您可以使用该函数从GET请求中获取参数,其优先级高于old()函数,我实际上并不记得该函数从URL获取参数,但是它看起来像:

{{ Request::get('yourInput') ?? old('yourInput') ?? $realEntity->yourInput }}

答案 1 :(得分:0)

在刀片文件中使用以下内容。您可以检查url(查询字符串)中是否存在名称。希望这会有所帮助:)

{{ Request::get('name') }}