2016-10-08 21 views
3

我有一个包含不同数据标签的表单。这些选项卡由查询字符串激活。保存提交表单的内容后,我需要重定向到它以使用查询数据显示相应的选项卡。如何做到这一点?如何使用查询字符串重定向?

目前我使用这个重定向:

return Redirect::back()->withErrors($validation); 

但这返回到第一个标签,甚至没有该选项卡上所做的更改。我看到类似于

return Redirect::back()->withErrors($validation)->withQuery('tab'=>'info'); 

但这并不奏效。有什么建议么?

回答

1

如果您使用Redirect::to()那么简单。

return Redirect::to('route_name?q='.$append_data) 

如果你想使用Redirect::back()然后执行以下这些

# Pass the value while redirecting 
return Redirect::back()->with('query_data', 'some_data'); 

并添加条件刀片文件。

@if(!empty(Session::get('query_data')) && Session::get('query_data') == 'some_data') 
<script> 
$(function() { 
    //Change the tab using javascript or 
    //use location.href to refresh after appending query params to url. 
}); 
</script> 
@endif 
-1

您可以使用:

header("Location: form.php"); 
exit; 

所以用户填写表单,当他提出,他将被重定向到表单处理页面的形式,然后就可以用这个头功能,将用户重定向回表单页面。

但要确保这一任何HTML内容之前去(或在代码的顶部打开outpu缓冲上ob_start())

+0

的问题是关于Laravel。这远不是该框架的最佳解决方案。 –

1

您可以使用sessions此:

return redirect()->back()->with('tab', 'info'); 

从会话中获取信息,使用session()全球帮助其在控制器和视图的工作原理:

session('tab');