Tengo una vista con múltiples pestañas. Cada uno con formas diferentes. Cuando envío un formulario desde una pestaña, regresa a la misma página pero a la pestaña principal. ¿Cómo podría volver a la misma pestaña desde la que estaba trabajando?
controlador
public function updateProfile(Request $request) { $user = User::where('id', Auth::user()->id)->first(); $user->update([ 'full_name' => $request->full_name, 'phone' => $request->phone, ]); } return redirect()->back(); }formulario html
<form action="{{route('management.update')}}" method="POST" enctype="multipart/form- data">Así son mis pestañas:
<ul class="nav nav-tabs mb-5" id="ex1" role="tablist"> <li class="nav-item" role="presentation"> <a class="nav-link active" id="ex1-tab-2" data-mdb-toggle="tab" href="#ex1- tabs-2" role="tab" aria-controls="ex1-tabs-2" aria-selected="false"><i class='bx bxs-user- rectangle'></i> User</a> </li> @endif <li class="nav-item" role="presentation"> <a class="nav-link " id="ex1-tab-1" data-mdb-toggle="tab" href="#ex1-tabs-1" role="tab" aria-controls="ex1-tabs-1" aria-selected="true"><i class='bx bx- buildings'></i> Profile</a> </li> </ul>En el controlador, envíe los datos sobre qué pestaña debe activarse después de la redirección. Puedes hacerlo enviando sesión flash.
Session::flash('active-tab', '#ex1-tab-1');Luego, al final de la vista, verifique si la sesión existe y active la pestaña con los datos en la sesión.
@if(Session::has('active-tab')) @php $active_tab= Session::get('active-tab'); @endphp $(document).ready(function(){ $(".active").removeClass("active"); $('{{$active_tab}}').addClass("active"); }) @endif