2016-12-22 2 views
1

Ich habe eine Reporting-Website, die ich pflege. Ich habe es so eingerichtet, dass Benutzer eine Zeile auswählen und in ein Formular übernommen werden können, um Teile davon zu bearbeiten. Nachdem Sie die Änderungen vorgenommen haben, klickt der Benutzer auf die Schaltfläche "Übermitteln" und anschließend wird eine Abfrage für die SQL-Datenbank ausgeführt, um den Datensatz in der Datenbank zu aktualisieren. Ich möchte, dass die Seite dann auf die verweisende Seite zurückkehrt. Ich weiß, dass es eine Möglichkeit gibt, das mit Javascript zu tun, so etwas wie parent.history.go(-1);, aber ich weiß nicht, wie ich es implementieren soll.Wie kann Javascript verwendet werden, um zur vorherigen Seite zu wechseln, nachdem anderer Code ausgeführt wurde?

Grundsätzlich, nach der $sth->execute(); Ich möchte etwas, das die parent.history.go(-1); senden wird.

Ich habe versucht, header('Location:') zu verwenden, aber das würde nur funktionieren, wenn sie eine Suche auf der vorherigen Seite (oder irgendeine Filterung oder Bestellung) nicht getan hatten. Wenn ich es einfach zur vorherigen Seite zurückkehren lassen könnte, oder vielleicht sogar die vorherige Seite neu laden würde, so dass ihre Bearbeitungen auch angezeigt werden, wäre das großartig.

Antwort

2

können Sie header('Location: '.$url) verwenden zusammen mit Zustand in jQuery Tables Speichern mit stateSave Option (da Ihre Frage datatables-1.10 markiert ist).

Zum Beispiel:

$('#example').dataTable({ 
    stateSave: true 
}); 

Es wird Tabelle Sortierung, Filterung und Seite speichern/wiederherstellen, so dass, wenn die gleiche Seite besucht wird wieder die Tabelle vorherigen Zustand wiederhergestellt haben.

+0

Funktioniert 'StateSave' mit serverseitiger Verarbeitung? – Mike

+0

und ich vermute, dass die $ newURL die URL der vorherigen Seite ist? – Mike

+0

Ich habe das zur Arbeit gebracht. Danke, ich hatte die Funktion 'stateSave' in DataTables vergessen. – Mike

0

Sie können die Back-Methode verwenden.

function goBack() { 
    window.history.back(); 
} 
+0

Wie würde ich das aber nennen? – Mike

+0

Hängt davon ab, willst du einen Knopf benutzen? Wenn ein Skript beendet ist? Wenn die Seite geladen wird? Es gibt Event-Listener-Optionen für alle. –

+0

Ich möchte es auf die vorherige Seite umleiten, sobald die '$ sth-> execute();' fertig ist. Es gibt keine Schaltfläche oder Seite laden. und das wird in einer PHP-Datei enthalten sein. – Mike

Verwandte Themen