観覧ありがとうございます.
以下のことを実現したいと思っています.
1.外部jsファイルの関数からwindow.openでサブウィンドウを開く.
2.サブウィンドウでは複数あるボタンから1つを押下する.
3.サブウィンドウを呼び出した関数にボタンごとに異なる変数を返す.
4.帰ってきた文字列ごとに開くページを変える.
window.showModalDialogでページを開いた場合にはreturnValueを用いることで,
変数を返すことができるみたいなのですがwindow.openでも同様のことをしたいと思います.
どのようにしたら実現可能でしょうか?ご教示ください.
追記
親ウィンドウ
html
1<head> 2<script type="text/javascript" src="@Url.Content("~/Scripts/output.js")"></script> 3</head> 4<body> 5<button type="button" onclick="showNewWindow(1) %>);">出力</button> 6</body>
output.js
javascript
1function showNewWindow(manageNo) { 2 var w_size = 200; 3 var h_size = 260; 4 var ret = ''; 5 var openWindow = open(url, '_blank', 'height=' + w_size + ',width=' + h_size + ',height=' + h_size); 6 7 if (window.addEventListener) { 8 window.addEventListener('message', function (event) { 9 ret = event.data 10 outputExcel(ret, manageNo); 11 }, false); 12 } else if (window.attachEvent) { 13 window.attachEvent('message', function (event) { 14 ret = event.data 15 outputExcel(ret, manageNo); 16 }); 17 } 18} 19 20function outputExcel(ret, manageNo) { 21 if ('html' == ret) { 22 return sendPostNewWindow(document.forms[0], '../Excel/Present?no=' + manageNo); 23 } else { 24 //処理 25 } 26} 27 28function returnMessage(text) { 29 window.opener.postMessage(text, '*'); 30 window.close() 31}
子ウィンドウ
html
1<head> 2<script type="text/javascript" src="@Url.Content("~/Scripts/output.js")"></script> 3</head> 4<body> 5<input type="button" name="xlxsButton" style="width:200px;" value="button" onclick="returnMessage('html');"> 6</body>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/28 04:08