繁体   English   中英

表单中的 Laravel 后退按钮

[英]Laravel Back Button in Form

我有一个像这样的 URL,例如http://example.com/items?c=sport&s=shoes ,它有一个更新按钮。 这会将用户重定向到http://example.com/items/{item_id}/edit并且有一个带有 Laravel 验证的表单。 所以每当用户输入错误的输入时,它会自动再次重定向到表单页面。 这意味着当我使用 url()->previous() 助手时,以前的 url 将再次是http://example.com/items/{item_id}/edit 但我想要的是回到更新页面之前的网址,即http://example.com/items?c=sport&s=shoes

<a href="{{ url()->previous() }}">Back</a>

由于验证重定向更改了先前的 url,它将失败

<a href="/items">Back</a>

这个确实有效,但问题是 url 不包含查询字符串

这个问题有什么解决方案吗?

提前谢谢你,我很抱歉我的英语不好!

您在 URL 中使用括号表示您了解路由参数绑定,但您也可以将 route() 方法用于查询字符串。

route('item', ['c' => 'sport', 's' => 'shoes'])

这是“后退”按钮的有效目的地,您可以根据表单中的内容以编程方式填写它(您可以将函数中的“运动”和“鞋子”字符串替换为可能包含页面数据的变量你想影响他们“回到”的地方。

任何传递给 route() 的第二个参数的没有定义路由参数的数组元素都将作为查询字符串附加到 URL。 请参阅此处: https : //laravel.com/docs/8.x/routing#genating-urls-to-named-routes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM