#php #laravel #forms #redirect #button
#php #laravel #формы #перенаправление #кнопка
Вопрос:
Когда форма будет отправлена, вы попадаете на сайт, где все входные данные из формы будут отображаться снова, чтобы проверить ее.
Если вы хотите что-либо изменить, есть кнопка «отправить вас обратно» в форму со всеми данными, которые вы уже ввели.
Как мне этого добиться?
Я уже пробовал с:
<a href="{{ url()->previous() }}"<button type="submit" class="button btn-sm">Bearbeiten</button></a>
Я возвращаюсь на сайт формы, но поля ввода пусты (конечно).
Я видел кое-что с redirect()->back()->withInput();
, и мне интересно, могу ли я как-то использовать это для сохранения входных значений без метода контроллера; просто перенаправление обратно на предыдущую страницу с сохранением входных данных. Все еще там.
Это одно из полей ввода:
<input type="text" name="name" value="{{ old('name') }}">
Поскольку я новичок в Laravel, я действительно не знаю, как достичь того, что я пытаюсь сделать, и я пока не нашел ничего действительно полезного.
Комментарии:
1. Возможно, вам захочется взглянуть здесь . Я сильно отстаю от laravel, но это должно стать хорошей отправной точкой.
2. В современных браузерах, если пользователь нажал кнопку возврата браузера, он должен найти старые данные.
3.
window.history.back()
— На Javascript.<a onClick="window.history.back()"....
Ответ №1:
Я бы просто сделал это по старинке
<a onClick="window.history.back()" ....</a>
Таким образом, история браузера пользователя будет такой же, как если бы он просто нажал кнопку «Назад».
Комментарии:
1. но только представьте, вы заполняете эту форму, а затем попадаете на другой сайт на другой вкладке. И после этого вы возвращаетесь на сайт отправленной формы, который показывает вам ваши входные данные и хотите их изменить. Разве это не отправило бы вас на другую сторону, где вы были на другой вкладке?
2. Нет, это просто как нажать кнопку «Назад» в браузере. История отслеживается для каждой вкладки. И вы не добавляетесь в историю. Перенаправляя обратно, вы, вероятно, добавляете другую страницу в историю. Так что, если пользователь ответит, кто знает, куда они идут. Вероятно, цикл перенаправления. «Где вы должны нажать в ответ 2 раза». На самом деле это более органично, поскольку оно отображается в последней части истории браузера.
3. Я только что попробовал это, но после перезагрузки страницы, на которой отображается форма отправки, это больше не работало. Итак, я думаю, это решение хорошее, но не идеальное
4. Это работает так же, как кнопка «Назад», если вы перезагрузите страницу, кнопка «Назад» сделает то же самое.
Ответ №2:
Извините @ofmiceandmoon, мой предыдущий ответ не был хорошим, потому что я неправильно понял ваш вопрос. Вот правильный ответ:
Допустим, у вас есть представление с именем «форма». В вашей форме поместите:
<input type="text" name="name" value="{{ request()->get('name') }}">
И в вашем контроллере вы хотите перейти к другому представлению с именем «display» и показать вводимое значение:
$name = $request->input('name');
return view('layouts.display')->with('name', $name);
И в вашем отображаемом виде:
<a href="{{ url()->previous() }}?name={{ $name }}"><button type="submit" class="button btn-sm">Bearbeiten</button></a>
Я надеюсь, что это сработает.
Комментарии:
1. Привет, @ofmiceandmoon если этот ответ решил ваш вопрос, пожалуйста, подумайте о том, чтобы принять его, установив флажок.