Frage von erichkeller, 104

Wie verbinde ich ein Bootstrap Modal mit einer Header Umleitung?

In einem Dropdown Menü rufe ich ein Skript includes/voting_live.php?name=hans auf und gleichzeitig ein Modal.

Im Skript wird ein Datenbankeintrag geändert und dann geht es mit header('Location: ' . $_SERVER['HTTP_REFERER']); wieder zurück.

Sobald man zurück ist, sollte eigentlich ein Pop Up aufgehen mit einer Meldung, statt dessen geht ein Pop Up auf mit dem Inhalt der Seite.

Das ganze kann hier https://mars.iuk.hdm-stuttgart.de/~fs096/votings.php gerne getestet werden, mit Live schalten im Dropdown Menü.

Wie kann ich das gewünschte Verhalten erreichen?

Antwort
von fluffiknuffi2, 51

Mit JavaScript? :p

Du kannst ja Bootstrap per JS anweisen ein Modal-Popup anzuzeigen (und zu schließen etc.)

Kommentar von erichkeller ,

Kann leider (noch) kein JS, geht es auch ohne?

Kommentar von fluffiknuffi2 ,

Kann sein, ich hab' mir deine Frage zugegebener Maßen nicht genau durchgelesen, vielleicht ist es möglich.

Kommentar von erichkeller ,

Wie würde es denn ohne funktionieren? 

Bin gerade darauf gestoßen: http://stackoverflow.com/questions/10233550/launch-bootstrap-modal-on-page-load. Allerdings soll mein Pop Up nicht bei jedem Seitenaufruf geöffnet werden. Eine Idee?

Kommentar von erichkeller ,

Ich meine mit :D wie würde es mit funktionieren?

Kommentar von fluffiknuffi2 ,

Die Frage wäre halt, warum dein Modal #live vor dem html-Tag steht?!

Kommentar von erichkeller ,

Das war nur ein Test, schmeiss ich jetzt raus.

Kommentar von fluffiknuffi2 ,

Wohl eher rein, in den body-Tag? :'D

Kommentar von erichkeller ,

ja

Kommentar von fluffiknuffi2 ,

Kann sein dass das echt nicht geht ohne es mit JS explizit zu coden. Schätze Bootstrap interpretiert 'a-Link mit href und data-toggle="modal" ' als "den Link im Modal öffnen".

Da wirst du wohl mit JS

a) den AJAX-Request machen müssen (ggf. mit jQuery damit geht es mit der $.get(url, data) Methode sehr einfach)
b) das Modal selber öffnen: $('#live').modal('show');

Kommentar von erichkeller ,

Ich hab es jetzt damit teilweise hinbekommen. Das gewünschte Pop Up geht auf, aber gleich danach auch wieder das andere Pop Up mit dem Inhalt der Seite. Hast du eine Idee wie ich das lösen kann?

$(document).ready(function() {

if(window.location.href.indexOf('#live') != -1) {
$('#live').modal('show');
}

});
Kommentar von fluffiknuffi2 ,

Öhm... indem du das hier löschst bei dem "Live schalten"-Link?

data-toggle="modal" data-target="#live"
Kommentar von erichkeller ,

Jetzt geht gar kein Pop Up mehr auf :D

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten