За последние 24 часа нас посетил 17861 программист и 1566 роботов. Сейчас ищут 1379 программистов ...

blade. Как открыть страницу с анкором?

Тема в разделе "Laravel", создана пользователем Сереганек, 29 окт 2017.

  1. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    При отправке данных из формы, эти данные проверяются и пишутся в бд. Если все ок, мне нужно возвращаться на ту же страницу по анкору и возле формы нужно показать сообщение типа "Спасибо, вы отправили данные и т.д.". Проблему с анкором пробовал решить через редирект с текущего blade-шаблона:
    Код (Javascript):
    1.     @if ($redirect!=="")
    2.         <script type="text/javascript">
    3.             window.location = '{{$redirect}}';
    4.         </script>
    5.     @endif
    а само сообщение скрываю/отображаю через hidden-класс, который либо передаю в вид с контроллера, либо не передаю:
    PHP:
    1. return view('landing', ['redirect' => '/#my-form', 'hidden' => '']);
    Но, вот по отдельности эти вещи работают, а вместе - нет. Причина в том, что при редиректе я попадаю в другой экшн контроллера, где сообщение должно быть скрыто 'hidden' => 'hidden'.
    Чувствую, я не туда забрел, подскажите направление как это решить.
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Сереганек нравится это.
  3. S_t_e_e_p

    S_t_e_e_p Активный пользователь

    С нами с:
    12 июл 2012
    Сообщения:
    181
    Симпатии:
    4
    Почему через контроллер это не сделать? Если есть валидация то можно проверять через условие и делать редирект:

    PHP:
    1. return redirect('page_redirect')->with('message', 'Success Message');

    и в шаблоне

    HTML:
    1. @if (Session::has('message'))
    2.     <div class="alert alert-success">{{ Session::get('message') }}</div>
    3. @endif
     
    #3 S_t_e_e_p, 2 ноя 2017
    Последнее редактирование: 2 ноя 2017
    Сереганек нравится это.