сохранить данные формы от обновления после нажатия кнопки - PullRequest
0 голосов
/ 11 марта 2019

У меня есть форма на основе выбора для поиска с фильтрами (рисунок ниже). Когда я нажал кнопку поиска, страница перезагружается и сбрасывает все выбранные.

Я пытаюсь использовать старый помощник, но он не работает должным образом, он просто выбирает первую опцию выбора (и избавляется от опции по умолчанию, как вы можете видеть на рисунках ниже)

Что нужно знать: это форма с действием get , она не предназначена для хранения или редактирования чего-либо, только для поиска. Итак, как я могу правильно получить старые данные при обновлении или после нажатия кнопки поиска?

Example1 example2 examplegui

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

Ответы [ 3 ]

0 голосов
/ 11 марта 2019

Используйте следующее в ваших блейд-файлах.Вы можете проверить, существует ли имя в URL (строка запроса).Надеюсь, это поможет :)

{{ Request::get('name') }}
0 голосов
/ 11 марта 2019

Я думаю, что функция old () должна работать просто отлично, но вы должны сравнить значение option в foreach.

<select name="tipo_propiedad">
@foreach ($tipos_propiedades as $tipo_propiedad)
  <option value="{{$tipo_propiedad->id}}" @if($tipo_propiedad->id == old('tipo_propiedad') selected @endif(>{{$tipo_propiedad->name}}</option>
@endforeach
</select>
0 голосов
/ 11 марта 2019

Функция old() будет получать данные по определенной клавише из данных флэш-памяти. Это означает, что вы должны установить данные как flash, прежде чем использовать old ().

Источник: https://github.com/laravel/framework/blob/e6c8aa0e39d8f91068ad1c299546536e9f25ef63/src/Illuminate/Http/Concerns/InteractsWithFlashData.php

Документация: https://laravel.com/docs/5.8/requests#old-input

В случае, если вы хотите обновить и сохранить введенные данные, я предлагаю использовать внешний способ обработки: при изменении ввода в раскрывающемся списке вставьте новый параметр строки запроса в URL с помощью javascript ( Как добавить или обновить параметр строки запроса? ). До тех пор, пока пользователь не попытается обновить страницу, URL-адрес сохранил ваше старое значение. В блэйд-форме вы можете использовать функцию для получения параметра из запроса GET с приоритетом выше, чем у функции old (), на самом деле я не помню функцию для получения параметра из URL, но она будет выглядеть так:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...