Laravel получить фокус на элемент - PullRequest
0 голосов
/ 24 апреля 2018

Я отправляю почту через Laravel, и после отправки почты веб-страница перезагружается. Итак, я бы хотел сфокусироваться на элементе FORM после перезагрузки. Есть ли какой-нибудь возможный способ оправдать JavaScript в определенный момент?

Main.blade.php

    @if(Session::has('flash_message'))
      <script>
        $(document).ready(function(){
          alert('abcd');
          $('[name=sentMessage]').focus();
        });
      </script>
      <div class="alert alert-success">{{ Session::get('flash_message')}}</div>
    @endif
    <form name="sentMessage" method="post" action="{{ route('demo.store') }}">
      {{ csrf_field() }}

Controller.php

public function store(Request $request){
  $this->validate($request, [
      'name' => 'required',
      'email' => 'required|email',
      'phone' => 'required',
      'message' => 'required'
  ]);

  Mail::send('emails.contact-message',[
      'name' => $request->name,
      'email' => $request->email,
      'phone' => $request->phone,
      'msg' => $request->message
  ], function($mail) use ($request){
      $mail->from($request->email, $request->name);
      $mail->to('dlgocjs1@gmail.com')->subject('A Message From HCL Portfolio Website');
  });

  return redirect()->back()->with('flash_message', 'Thank you for your interest');
}

1 Ответ

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

getElementByName() не существует, только getElementsByName().

Поскольку вы используете jQuery, вы можете сделать это:

$('[name=sentMessage]').focus();

Или используйте атрибут autofocus:

<... name="sentMessage" @if(Session::has('flash_message'))autofocus@endif ...>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...