Перерисовка представления на основе значения выпадающего списка в Laravel 7


Перерисовка представления на основе значения выпадающего списка в Laravel 7

04.11.2020 01:46:45 Просмотров 8 Источник

Я хотел бы отобразить другое представление для 4 выпадающих значений в контроллере.

Я новичок в php и laravel и только начинаю понимать это.

выпадающий список в HTML:-

 <div class="col-md-6">
 <select name="employees" class="form-control @error('employees') is-invalid @enderror">
 <option value="">-- {{ __('choose') }} --</option>
 <option value="micro">1 - 5</option>
 <option value="small">5 - 50</option>
 <option value="medium">50 - 500</option>
 <option value="large">500 +</option>
 </select>

Контроллер :-

class RegisterControllerStep2 extends Controller

{

public function form()
{
    return view('auth.register_step2');
}

public function saveData(Request $request)
{
    auth()->user()->update($request->only(['company_name', 'website', 'employees']));

    return redirect()->route('home');
}

}

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

Любое руководство будет очень ценно.

У вопроса есть решение - Посмотреть?

Ответы - Перерисовка представления на основе значения выпадающего списка в Laravel 7 / Redering out a view based on dropdown value in Laravel 7

justrusty

04.11.2020 02:02:41

Вам нужно что-то вроде этого

public function saveData(Request $request)
{
    auth()->user()->update($request->only(['company_name', 'website', 'employees']));

    if($request->employees==='micro'){
        return redirect()->route('micro');
    }

    return redirect()->route('home');
}
BABAK ASHRAFI

04.11.2020 02:17:13

Чтобы дать лучший опыт, я добавляю эту функцию jquery к ответу justrusty. Делая это, он не является обязательным для пользователя, чтобы нажать кнопку "Отправить" для изменения применяется.

Добавьте форму с идентификатором в поле выбрать:

<form action="something" method="post">
@csrf

 <select id="employees" name="employees" class="form-control @error('employees') is-invalid @enderror">
 <option value="">-- {{ __('choose') }} --</option>
 <option value="micro">1 - 5</option>
 <option value="small">5 - 50</option>
 <option value="medium">50 - 500</option>
 <option value="large">500 +</option>
 </select>

</form>

Затем добавьте ниже jquery в конец раздела body:

 $('#employees').change(function() {
    this.form.submit();
});

И наконец, как сказал justrusty, перенаправление на нужную страницу в контроллере:

if($request->employees==='micro'){
    return redirect()->route('micro');
}
Помочь в развитии проекта:
Закрыть X