我有 3 个选项卡菜单,其中一个包含用于处理一些数据的表单。我做了一些Javascript操作,允许控制器在处理表单后将数据返回到该特定页面。现在的问题是,数据不是 POST 方法的数据(即处理后的数据(,而是 GET(即默认数据(的数据。
这是我的控制器
public function index(Request $request){
$method = $request->isMethod('post');
if($method){
$members = $projects = "some data";
return redirect()->route('progress_reports')->with(['projects' => $projects, 'members' => $members])->withInput(['tab'=>'progress_report']);;
}else{
$projects = $members = "default data";
$results = Project::all();
return view('reports.index', compact('projects', 'members', 'results'));
}
}
我的观点
<ul class="nav nav-tabs" id="tabMenu">
<li class="active"><a href="#tab1info" data-toggle="tab">Activity Log</a></li>
<li><a href="#progress_report" data-toggle="tab">Progress Report</a></li>
<li><a href="#tab3info" data-toggle="tab">Find By</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane fade in active" id="tab1info">Info 1</div>
<div class="tab-pane fade" id="progress_report">
@include('reports.partials.progress_report')
</div>
<div class="tab-pane fade" id="tab3info">
@include('reports.partials.find_by')
</div>
</div>
JS文件:
$('#tabMenu a[href="#{{ old('tab') }}"]').tab('show');
您可以做的是从控制器发送选项卡的名称,然后在视图中使用 javascript 检查并将活动类添加到选项卡中。