【问题标题】:Laravel4+Bootstrap: Redirect::back() - not at the top, but at the bottom of the siteLaravel+Bootstrap: Redirect::back() - 不是在顶部,而是在网站底部
【发布时间】:2013-09-18 08:06:22
【问题描述】:

我用 Laravel 4 和 Bootstrap 2.3.1 创建了一个站点。 这是一个有四个部分的单页网站:

<li><a href="#home" class="">Home</a></li>
<li><a href="#portfolio" class="">portfolio</a></li>
<li><a href="#services" class="">services</a></li>                      
<li><a href="#contact" class="">Contact</a></li>

在网站底部的联系人部分,有一个发送电子邮件的表格。 如果有验证错误,我会用错误重定向回来。 它工作正常,除了它在页面顶部重定向的事实。 相反,我希望保留在页面底部。 我如何在 laravel 4 中做到这一点?

这是简单的重定向代码:

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

谢谢!

【问题讨论】:

  • 试试return Redirect::to(URL::previous() . '#contact')-&gt;withInput()-&gt;withErrors($validation);
  • 感谢您的回复。不管用。它重定向到 index.php,显示一个空白页面。
  • 您的网页网址是什么?它在哪里提交?它是否使用 POST 动词提交到与自身相同的 url?
  • 现在我在 localhost 上工作,完整地址是:localhost:8080/Portfolio_Laravel/public 使用 URL::previous() 它重定向到:localhost:8080/Portfolio_Laravel/public/index.php 是 Route::post 重定向到相同的 url (' /')
  • 在这种情况下,我会使用RedirectorURL 看看哪个有效。我仍然认为您需要手动附加主题标签(#)。否则,您将需要 javascript/jQuery 来执行此操作。

标签: twitter-bootstrap redirect laravel laravel-4


【解决方案1】:

由于带有井号 (#) 的锚标记用于使用 ID 滚动浏览一页中的部分,因此您需要重新附加井号 (#)。您可以使用URL::previous() 返回上一个网址并附加#contact

return Redirect::to(URL::previous() . '#contact')
                    ->withInput()
                    ->withErrors($validation);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-10
    • 2015-03-09
    • 2013-10-17
    • 2023-02-07
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多