Blog

Kategorien

  • Keine Kategorien

Suche

Kontakt

Oliver Griebl
0177 7282366 07841 26321



Kontakt aufnehmen

JQuery Dialoge zuverlässig schliessen

Posted in: Blog by Oliver Griebl on 2010/06/30

Bei der Arbeit mit Modal Dialogs der JQuery Javascript-Bibliothek ist mir aufgefallen, dass das Entfernen bzw. Schliessen eines Dialogs nicht immer zuverlässig funktioniert.

Das Problem trat auf wenn zwei unterschiedliche Dialoge, die verschiedene Formulare enthalten, auf der gleichen Seite, nach einander geöffnet wurden. Die Formular Felder des ersten Dialogs wurden erneut übertragen sobald das Formular des zweiten Dialogs abgeschickt wurde. Das passierte auch wenn der erste Dialog per .dialog(‘destroy’) oder .dialog(‘close’) zuvor geschlossen wurde.

Abhilfe schaffte nach einiger recherche die Methode .remove().
Folgende Methode entfernt ein Dialog zuverlässig aus dem DOM so dass keine unerwünschten Effekte mehr auftreten:

$('.dialog').dialog('destroy').remove();

Ich hoffe der Artikel kann dem Einen oder Anderen weiter helfen.
Siehe auch How to completely remove a dialog on close

Kommentare

1 Kommentar
  1. Hallo,
    bei der oben beschrieben Methode wird das .dialog-Div durch remove() zuverlässig (aber auch vollständig) entfernt.
    Bei einer erneut erzeugten Fehlermeldung im entsprechenden Formular wird das Div bzw. der Dialog danach nicht mehr angezeigt.

    Einige weitere Anleitungen zur Problemlösung sind hier zu finden:
    http://forum.jquery.com/topic/problem-with-jquery-ui-dialog-in-tabs-multiple-instances-each-time-a-tab-is-clicked

    Bei Verwendung von Jquery Tabs in Kombination mit Dialog reicht es bereits, den .dialog-Div in die übergeordnete asp/html-Datei auszulagern.
    vg

    Kommentar von Jörg Kaimer am 2010/08/25 um 16:10