【问题标题】:Laravel 5.5 redirect to url with anchor and with dataLaravel 5.5 重定向到带有锚点和数据的 url
【发布时间】:2018-06-22 16:59:46
【问题描述】:

在我的 footer.blade.php 我有以下关于订阅的代码

        <!--Subscription-->
        @if(Session::has('success'))
            <div class="form-group has-success">
                <input class="form-control form-control-success" type="text" id="input-success">
                <div class="form-control-feedback">{{ Session::get('success') }}</div>
            </div>
        @elseif(Session::has('failed'))
            <div class="form-group has-danger">
                <input class="form-control form-control-danger" type="text" id="input-danger">
                <div class="form-control-feedback">{{ Session::get('failed') }}</div>
            </div>
        @else
            {!! Form::open(['route'=>'subscribe.store', 'class' => 'subscribe-form', 'novalidate' => 'novalidate']) !!}
            <div class="clearfix">
                <div class="input-group input-light">
                    {!! Form::email('email', old('email'), ['class'=>'form-control ', 'placeholder'=>'Your e-mail']) !!}
                    <span class="input-group-addon"><i class="icon-mail"></i></span>
                </div>
                <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
                <div style="position: absolute; left: -5000px;" aria-hidden="true">
                    <input type="text" name="b_c7103e2c981361a6639545bd5_1194bb7544" tabindex="-1">
                </div>
                <button class="btn btn-primary" type="submit">
                    <i class="icon-check"></i>
                </button>
            </div>
            {!! Form::close() !!}
            <span class="form-text text-sm text-white opacity-50">Subscribe to our Newsletter to receive early discount offers, latest news, sales and promo information.</span>
        @endif

在我的控制器中,我具有以下功能,可以接收电子邮件并正确订阅

public function registerNewsletter( Request $request )

{

    $email = $request->input( 'email' );
    $isSub = Newsletter::hasMember($email);
    if($isSub) {
        return redirect()->back()->with('failed', 'You have been already registered in our Newsletter system.');
    } else {
        Newsletter::subscribe($email);
        return redirect()->back()->with('success', 'You have been registered in our Newsletter system.');
    }

}

虽然一切正常,但我想翻页向下滚动到页脚,因为现在它重新加载并保持在顶部。

我找到了return redirect()-&gt;to(app('url')-&gt;previous(). '#hashid');

但是没有办法在footer的id之间传递数据。

我也试过了

return redirect()->back()->with('failed', 'You have been already registered in our Newsletter system.'). '#sitefooter'; 并且它没有向下滚动。

有什么想法或解决方法吗?

【问题讨论】:

    标签: laravel laravel-5 laravel-5.5 laravel-form


    【解决方案1】:

    我刚刚测试了这段代码。它会重定向你,向下滚动到锚点并传递数据:

    session()->flash('someVariable', $someData);
    return redirect(url()->previous() . '#hashid');
    

    要获取存储的数据:

    $someData = session('someVariable');
    

    或者在视图中:

    {{ session('someVariable') }}
    

    【讨论】:

    • 它很稳固而且很有效。刷新后,带有“someVariable”的会话已被删除,所以我接受了这个答案。非常感谢!
    • 很高兴它有帮助。 )
    猜你喜欢
    • 1970-01-01
    • 2017-01-26
    • 2010-11-20
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    • 2018-04-30
    相关资源
    最近更新 更多