2012-10-31 20 views
10

Ich habe ein untergeordnetes Fenster, wenn ich auf die Schaltfläche klicke. In diesem Fenster habe ich einige Daten in der Datenbank gespeichert. Ich möchte eine andere Java-Skriptfunktion aufrufen, wenn das untergeordnete Fenster geschlossen ist.Rückruffunktion, wenn das untergeordnete Fenster geschlossen ist

Ich habe diese Set a callback function to a new window in javascript Lösung bereits versucht, aber es funktioniert nicht.

Also bitte sagen Sie mir, wie Callback-Funktion aufrufen?

Ich habe auch ein verstecktes Feld von Kind-Fenster nach erfolgreich speichern. Ich habe versucht, diesen versteckten Wert aber seine Warnung vor der Aktualisierung zu warnen.

function open_child() 
{ 
    $("#child_succ").val(0); 
    alert($("#child_succ").val()); 
    window.open("child.php","Ratting","width=550,height=300,left=150,top=200,toolbar=1,status=1"); 
    alert($("child_succ").val()); 
} 

Callback-Funktion

function test() 
{ 
    alert("called from child window"); 
} 
+0

müssen Sie die onbeforeunload Ereignis zu stoppen, die nicht zu 100% zuverlässig ist. –

+0

@MarcB Eine andere Möglichkeit, die Funktion nach dem Schließen des untergeordneten Fensters aufzurufen oder die Funktion des übergeordneten Fensters vom untergeordneten Fenster aufzurufen? – Hkachhia

Antwort

14

Sie auf diese Weise eine übergeordnete Funktion von Child-Fenster aufrufen können:

window.opener.your_function() 

Um ein Kind Funktion in übergeordnete Fenster rufen:

var w = window.open(somelocation,''); //has a function on `window` called "test" 
w.test(); 

Wenn Ihnen einige dieser Tipps helfen, können Sie uns zeigen, wie der Callback-Ansatz von Ihnen verwendet wurde.

Hoffe das hilft dir.

Grüße!

+0

Danke, es ist perfekt für mich – Hkachhia

-1

Im Beispiel gab man uns die Funktion auf Load-Ereignis aufgerufen wird, so müssen Sie es mit auf eine enge Ereignis ändern:

// This function is defined in the child window 
var RunCallbackFunction = function() { }; //reference holder only 


// --------------------------------------------------------------------------- 


// This code should appear in the parent window 
//random function you want to call 

function myFunc() { alert("I'm a function in the parent window"); } 

//to actually open the window.. 
var win = window.open("window.html"); 
win.onclose = function() { win.RunCallbackFunction = myFunc; }; 
+2

Immer noch nicht für mich arbeiten – Hkachhia

+0

Uncaught TypeError: Kann die Eigenschaft 'onclose' von undefined – gstackoverflow

+0

nicht funktionieren – Corci

Verwandte Themen