「JavaScript」window.opener.documentで親画面のドキュメントを操作する方法

2020年10月26日

1.親画面
親画面では画面を開く要素(button、text)を設定します。
使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<input type="button" value="childOpen"
onclick="window.open('/User/view/sample.jsp', '子画面表示', 'width=200,height=200');return false;">
<form name="frmUser">
<input type="text" name="username" value="">
</form>
<input type="button" value="childOpen" onclick="window.open('/User/view/sample.jsp', '子画面表示', 'width=200,height=200');return false;"> <form name="frmUser"> <input type="text" name="username" value=""> </form>
<input type="button" value="childOpen"
  onclick="window.open('/User/view/sample.jsp', '子画面表示', 'width=200,height=200');return false;">
<form name="frmUser">
  <input type="text" name="username" value="">
</form>

2.子画面
子画面では、親画面のオブジェクトを操作(JS関数)します。
使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
function parentOpFunc(val) {
if (!window.opener || window.opener.closed) {
window.alert("親画面が存在しない");
window.close();
} else {
// 親画面のオブジェクト
window.opener.document.frmUser.username.value = val;
}
}
function parentOpFunc(val) { if (!window.opener || window.opener.closed) { window.alert("親画面が存在しない"); window.close(); } else { // 親画面のオブジェクト window.opener.document.frmUser.username.value = val; } }
function parentOpFunc(val) {
  if (!window.opener || window.opener.closed) {
    window.alert("親画面が存在しない");
    window.close();
  } else {
    // 親画面のオブジェクト
    window.opener.document.frmUser.username.value = val;
  }
}

htmlコード
<input type="button" value="parent Opearte" onClick="parentOpFunc(document.frmUser.username.value);return false;">

JavaScript

Posted by arkgame