2016-08-09 7 views
2

Also in meiner Fußzeile habe ich ein Formular zum Hinzufügen von Abonnenten zu einem Newsletter. Wenn Sie Ihre E-Mail-Adresse eingeben und das Formular absenden, werden Sie mit einer Nachricht zurückgeleitet. Alles funktioniert gut. Die Fußzeile befindet sich jedoch am Ende der Seite und ich werde zurück an die Spitze geleitet. Gibt es eine Möglichkeit, umzuleiten und direkt zur Fußzeile zu gehen? Hier ist der Code in meinem Controller:Laravel - Redirect zurück mit Standort

public function addSubscriber(Request $request) 
{ 
    $this->validate($request, [ 
     'email' => 'required|email' 
    ]); 

    ...code... 

    return redirect()->back()->with(['added' => $message]); 
} 

Wie kann ich das erreichen?

Antwort

3

Statt back() zu tun, könnten Sie so etwas wie dies versuchen:

return redirect(url()->previous().'#subscribe'); 

Hier url()->previous() wird URL der vorherigen Seite generieren. Sie müssen also nur #subscribe hinzufügen, wodurch die Seite nach unten zu einem Anker verschoben wird. Also kein JS erforderlich.

Natürlich benötigen Sie einen HTML-Anker hinzuzufügen:

<a name="subscribe">Subscribe</a> 
0

Es gibt zwei Möglichkeiten, dies zu tun:

  1. eine URL wie https://laravel.com/docs/5.1/queries#introduction Stellen, und das Scrollen der Web-Seite von #Introduction verwalten. Demo
  2. Bei Erfolg der Nachricht rufen Sie eine js-Funktion auf, die Ihre Webseite nach bestimmten Pixel der Höhe herunterscrollt, so dass Ihre Fußzeile sichtbar ist.