selfmade01: Modal löschen

Hallo,

ich verwende zwei Modals die in javascript variablen gespeichert sind. Je nach Klick erscheint das eine oder das andere Modal. Aktuell wird es beim Schliessen nur als Hidden markiert.

Da ich in beiden Modals die gleichen Buttons verwende und diese bei click das data-attribut abfrage bekomme ich so falsche Werte, da er immer auf das erste Modal zugreift was schon als Hidden in der Webseite ist.

Da ich aktuell stets das Modal über die Javascript Variable aufrufe und beim Schlissen es dann  wieder als Hidden abgelegt wird, erhalte ich so ein Flut von hidden-Modals.

Der Grundgedanke war der, das ich die Modals via Ajax-daten fülle.

Kann ich die hidden-Modals komplett von der Seite löschen?

Ist es u.U. sogar besser wenn ich ein Modal mit Daten vom Server füllen muss, das ich gleich das ganze Modal via Ajax lade?

Grüße Jürgen

  1. Moin!

    Hallo,

    ich verwende zwei Modals die in javascript variablen gespeichert sind.

    Ich verstehe das mal so, dass Du mit "Modals" "Dialoge" meinst. Also sowas:

    +-----------------------------+
    |                             |
    |    Wollen Sie wirklich?     |
    |      [Ja]    [Nein]         |
    |                             |
    +-----------------------------+
    

    Je nach Klick erscheint das eine oder das andere Modal. Aktuell wird es beim Schliessen nur als Hidden markiert.

    Aha.

    Da ich in beiden Modals die gleichen Buttons verwende und diese bei click das data-attribut abfrage bekomme ich so falsche Werte, da er immer auf das erste Modal zugreift was schon als Hidden in der Webseite ist.

    Das sieht so aus, als würdest Du alle Deine Dialoge in einem Formular haben. Das ist, wie das Ergebnis zeigt, keine gute Idee. Mach ein Formular pro "Modal"

    Kann ich die hidden-Modals komplett von der Seite löschen?

    Im Prinzip: Ja. Im Prinzip auch genau so, wie Du diese einbaust.

    Wie Du das aber getan hast kann ich nicht wissen.

    Jörg Reinholz

    1. Moin!

      Ich verstehe das mal so, dass Du mit "Modals" "Dialoge" meinst. Also sowas:

      Ja es sind Dialoge jedoch Bootstrap Modals und die werden etwas anders angesteuert da ich die Boostrab eigene Funktionen verwende

      Das sieht so aus, als würdest Du alle Deine Dialoge in einem Formular haben. Das ist, wie das Ergebnis zeigt, keine gute Idee. Mach ein Formular pro "Modal"

      ja, das eine Modal habe ich angelegt zum Neuanlegen einer Information und das andere zum Ändern. Ich bin mir aktuell nicht ganz sicher ob das überhaupt so klug war die Modals in Javascript-Variablen zu speichern. Normal werden sie ja als DIV-Container in  der Seite angelegt und je nach Bedarf aufgerufen, ich habe diese DIV-Container in Javascript-Variable abgelegt, da ich diese zumindest beim Ändern einer Information zuvor mit Daten vom Server via ajax auffülle.

      Kann ich die hidden-Modals komplett von der Seite löschen?

      Im Prinzip: Ja. Im Prinzip auch genau so, wie Du diese einbaust.

      Da bin ich mir nicht so ganz sicher, bei Modals habe ich bis jetzt nur was über "show" zum Anzeigen und "hide" zum verstecken gelesen.

      Das ich nun zwei verschiedene Modals bauen muss also mit versch. Bezeichnern der ID's und Attribute, habe ich verstanden.

      Ob das mit dem Löschen so geht wie mit dem verlinkten Beispiel... mmmhh?

      Grüße Jürgen

      Wäre es u.U. sogar sinnvoller gleich das ganze Modal via Ajax zu laden?

      1. Moin!

        Bootstrap Modals Boostrab eigene Funktionen

        Da bin ich mir nicht so ganz sicher, bei Modals habe ich bis jetzt nur was über "show" zum Anzeigen und "hide" zum verstecken gelesen.

        Nun ja. Die Sache ist die: Du verwendest eine dieser 2,5 Millionen ungeheuer wertvollen Bibliotheken, welche die Arbeit ungeheuer erleichtern. Das aber nur wenn man

        1. die Bibliothek sehr gut kennt und
        2. in genau dem Funktionsbereich bleibt, den der oder die Erschaffer der Bibliothek vorgesehen bzw. realisiert haben, denn ich habe gelernt:
        3. immer wenn man von dem gebotenen Funktionsumfang abweicht oder etwas auch nur im Detail anders will oder ein Detail der oft fragwürdigen, oft wenig verständlichen Dokumentation falsch verstanden hat, beginnen die Probleme.

        Ich selbst bin ein großer Freund davon, auf die Nutzung von solchen Bibliotheken zu verzichten und bei nativem HTML/CSS/JS zu bleiben. Es sei denn, es liegt eine Aufgabe vor, welche durch die Bibliothek extrem erleichtert wird. Ich staune deshalb wieder über Webseiten, die es fertig bringen, megabyteweise Bibliotheken zu laden, um 14 Grafiken, ein wenig statischen Text, ein Menü und ein Kontaktformular zu präsentieren und allenfalls eine einzige der vielen Funktionen der Bibliothek zu laden, die mit einem Dreizeiler (oder Zweizeiler!) in JS und ebensowenigen Zeilen CSS erledigt gewesen wäre.

        Das führt dann wieder dazu, dass jemand antworten muss, der sich mit bootstrap besser auskennt als ich. Zumal ich immer noch nichts gesehen habe.

        Jörg Reinholz

  2. Hallo selfmade01,

    ich verwende zwei Modals die in javascript variablen gespeichert sind. Je nach Klick erscheint das eine oder das andere Modal. Aktuell wird es beim Schliessen nur als Hidden markiert.

    Kannst du da mal etwas Code zeigen? Es ist schwer nachzuvollziehen, was genau du meinst.

    Da ich aktuell stets das Modal über die Javascript Variable aufrufe und beim Schlissen es dann  wieder als Hidden abgelegt wird, erhalte ich so ein Flut von hidden-Modals.

    Warum entfernst du sie dann nicht? $('.modal').remove() oder so.

    Kann ich die hidden-Modals komplett von der Seite löschen?

    Du musst sie aus dem DOM löschen. Da du Bootstrap verwendest wirst du auch jQuery benutzen, richtig? Da kannst du dann einfach über einen Selektor alle Modals entfernen:

    $("div.modal").remove();
    

    LG,
    CK