Запомните положение полосы прокрутки после отправки формы в laravel - PullRequest
0 голосов
/ 27 апреля 2018

Можно ли запомнить положение полосы прокрутки после отправки формы и возврата на домашнюю страницу?

Вот моя форма :

<form method="post" action="{{Route('sites.liking')}}">
  <input name="_token" value="{{csrf_token()}}" type="hidden">
  <input type="hidden" value="{{$meme->likes}}" name="likes">
  <input type="hidden" value="{{$meme->id}}" name="likeid">
  <input type="hidden" value="{{Auth::user()->name}}" name="sendeduser">
  <button class="linking">+ {{$meme->likes}}</button>
</form>

Маршрутизация :

Route::post('/', ['uses' => 'LikingComments@liking', 'as' => 'sites.liking']);

Функция контроллера :

public function liking(Request $request) {
  //Function guts
  return redirect('/')->with('status', $id);
}

Я пробовал несколько сценариев, но он всегда прокручивается вверх страницы.

Есть ли способ вернуться на то же место страницы?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Хорошо, я решил эту проблему, добавив идентификатор элемента, новую маршрутизацию и изменив основную функцию.

<div id="{{$meme->id}}">
 <form method="post" action="{{Route('sites.liking')}}">
  <input name="_token" value="{{csrf_token()}}" type="hidden">
  <input type="hidden" value="{{$meme->likes}}" name="likes">
  <input type="hidden" value="{{$meme->id}}" name="likeid">
  <input type="hidden" value="{{Auth::user()->name}}" name="sendeduser">
  <button class="linking">+ {{$meme->likes}}</button>
 </form>
</div>

Изменена функция:

public function liking(Request $request)
{
 //Function guts


 return redirect()->action('LikingComments@indexliking', ['id' => $id])->with('status', $id);
}

Маршрутизация:

Route::get('/#{id}' , ['uses' => 'LikingComments@indexliking', 'as' => 'indexliking']);

Это не работает идеально, но это хорошо для меня. Спасибо за ваши ответы, особенно @ kerbholz

0 голосов
/ 27 апреля 2018

Вы можете использовать localStorage или sessionStorage для сохранения текущей позиции прокрутки (scrollTop). и затем назначьте его scrollTop при перезагрузке предыдущей страницы.

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