Wie laden Sie eine übergeordnete Seite, wenn jQuery UI dialog wird geschlossen?

Ich suchte für diese Fragen bei stackoverflow und habe ähnliche Fragen (aber nicht genau das, was ich Suche), aber die Lösung scheint nicht zu funktionieren. Ich bin nur ein Neuling in jQuery und ich brauche Ihre Hilfe, um in der Lage sein, diese Arbeit zu machen. (Daumen)

Also ich habe eine Webseite mit einer Schaltfläche (parentPage.html, zum Beispiel). Wenn die Schaltfläche geklickt wird (openItemPopup Funktion ausgeführt wird), es öffnet sich ein Modaler dialog mit jQuery UI. Der Inhalt des modal-dialog "#contentWindow" ist eine andere Seite (modalDialog.html, zum Beispiel).


function resetContent() {
$('#contentFrame').attr('src', '/images/ajax-loader.gif');
}

function closeContent() {
$('.ui-dialog-titlebar-close').click();
}

function openItemPopup(){

$('#contentWindow').dialog({width:980, modal: true,
        close: function(ev, ui) { resetContent(); }
});
}

Innen modalDialog.html wenn ein Anker geklickt wird, führt es eine gewisse Logik, und es muss dynamisch schließen Sie das modale Dialogfeld. Jemand sagte mir, zu verwenden, und diese ist bereits in Arbeit:


              //refresh parent page before closing
              //doesn't work
              location.reload(true);

              //close the modal dialog
              window.top.closeContent();
              return false;
              window.location='javascript:void();';

Mein problem ist: ich brauche zu aktualisieren parentPage.html kurz vor dem schließen des modalen dialogs. Sie sehen oben, dass ich versuchte location.reload(true);, aber es lädt die modalen dialog-und nicht die parentPage.html. Ich kann keine Bilder posten, aber es sagt *"Ungültige Web-Anwendungs-session".*

Ich habe auch versucht das Fenster.top.Lage.reload(); und es scheint zu funktionieren. Es lädt die parentPage.html und schließt das modale Dialogfeld.

              //refresh parent page before closing
              //seems working but has error
              window.top.location.reload();

              //close the modal dialog
              window.top.closeContent();
              return false;
              window.location='javascript:void();';

Aber es sagt "Ungültige Web-Anwendungs-session." -- genau so, wie es war, als mit der Lage.reload(true);. Ich habe keine Ahnung, warum das passiert ist und wie es zu beheben. Ich bin auch nicht sicher, ob Fenster.top.Lage.reload ist die richtige Methode, dies zu tun.

FYI: ich bin versucht, zu aktualisieren parentPage.html in der Lage sein, um die Daten zurück an den modalen dialog. Vor modalDialog.html verwendet, um die Funktion als eine einfache html-Seite. Daten wie Listen und Felder sind ordnungsgemäß zurückgegeben wird, aus modalDialog.html zu parentPage.html. Sie wollte konvertieren, es als modales Dialogfeld, um zu verhindern, dass EINE MENGE von Seite zu aktualisieren. Jemand hat mir gesagt, dass es möglich ist, um AJAX verwenden, aber es ist eine Menge Arbeit. Außerdem bin ich kein Meister darin. Wenn Sie einen besseren Vorschlag haben, fühlen Sie sich frei, mich wissen zu lassen!

Ich hoffe Ihr könnt mir helfen. Vielen Dank im Voraus!!!

Versuchen location.reload(); w3schools.com/jsref/met_loc_reload.asp
Lage.reload(); lädt die modalen dialog-und nicht die übergeordnete Seite.
Ist Ihre modalen dialog in einem iframe? Ansonsten location.reload(); sollte wirklich den trick tun - Sie haben es getan, bevor mit jquery colorbox und ajax-request. EDIT: Hinzugefügt eine Antwort mit einem anderen Ansatz.
Ja, es ist ein iframe. Hmmm. Wenn es nur eine Art, die ich Euch zeigen kann.
Hi, hast du jemals eine Abbildung dieses Problem aus?

InformationsquelleAutor afewknows | 2013-01-17

Schreibe einen Kommentar