前回の問合せに引き続いての内容です。
親画面側から呼び出された子画面の動作(親画面の要素を設定)し終えたら
親画面側の関数を実行したいです。
前の質問は、子画面から親画面の関数を呼び出そうとしていたのですが、今回の質問は
親画面側で子画面の動作完了を検知できたら! と逆の発想を思い付きました。
子画面側のJSにより、自らの画面がcloseされたとき、もしくは子画面JSの処理が完了したことを検知する方法、また、その後の自身(親画面)の関数を実行する方法を ご教示頂けないでしょうか?
よろしくお願い致します。
JavaScript
1//【親画面】 2$(function(){ 3 4 //子画面は この関数の動作によって開く 5 function winOpen(url, width, height) { 6 if (width > 800) { 7 width = 800; 8 } 9 if (height > 600) { 10 height = 600; 11 } 12 var w = ( screen.width-width ) / 2; 13 var h = ( screen.height-height) / 2; 14 window.open(url, "_blank", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, " + 15 "resizable=yes, width=" + width + ", height=" + height + ", left=" + w + ", top=" + h); 16 } 17 18 // この関数を子画面の動作が完了したら動かしたい 19 function updGet () { 20 var r = $("[name='q1']:checked").val(); 21 if (r != "0") { 22 clrItems(); 23 updRenew(); 24 FixedMidashi.create(); 25 } 26 } 27 28}); 29 30 31//【子画面】 32$("[name=car_model]").on("change", function(){ 33 34 window.opener.document.getElementById("dcd").value = tcd.trim(); 35 window.opener.document.getElementById("dname").value = tname.trim(); 36//★ window.opener.updGet(); 親画面の関数、グローバルでなく呼べない 37 close(); 38}); 39
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/25 23:46 編集
2019/03/01 15:18
2019/03/01 16:26