質問編集履歴
11
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
10
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
9
文法修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
### 発生している問題・エラーメッセージ
|
6
6
|
|
7
7
|
```
|
8
|
-
|
8
|
+
window.opener[callback_id] is not a function
|
9
9
|
```
|
10
10
|
|
11
11
|
### 該当のソースコード
|
@@ -23,9 +23,21 @@
|
|
23
23
|
//変更ボタン押下時の処理
|
24
24
|
function ButtonClick(){
|
25
25
|
|
26
|
+
|
27
|
+
var callback_id = 'callback_modal';
|
28
|
+
window[callback_id] = function(ret) {
|
29
|
+
|
30
|
+
//trueが表示されることを確認
|
31
|
+
alert(ret.status);
|
32
|
+
return ret ? ret : {"status":false };
|
33
|
+
|
34
|
+
}
|
35
|
+
|
26
36
|
//子画面ウインドウを開く
|
27
|
-
var ret = openChild("子画面.html");
|
37
|
+
//var ret = openChild("子画面.html");
|
38
|
+
var ret = openChild("子画面.html",window[callback_id]);
|
28
39
|
|
40
|
+
|
29
41
|
//(ここ処理が通るのを確認したい)
|
30
42
|
if(ret.status) {
|
31
43
|
alert(ret.status);
|
@@ -40,27 +52,31 @@
|
|
40
52
|
小画面から親画面に値渡し.js
|
41
53
|
|
42
54
|
//モーダル画面呼び出し
|
55
|
+
//function openChild(url) {
|
43
|
-
function openChild(url) {
|
56
|
+
function openChild(url,callback) {
|
44
|
-
return openDialog(url,900,680);
|
57
|
+
return openDialog(url,900,680,callback);
|
45
58
|
}
|
46
59
|
|
60
|
+
//function openDialog(url,width,height){
|
47
|
-
function openDialog(url,width,height){
|
61
|
+
function openDialog(url,width,height,callback){
|
48
62
|
|
63
|
+
|
49
|
-
var callback_id = 'callback_modal';
|
64
|
+
//var callback_id = 'callback_modal';
|
50
|
-
window[callback_id] = function(ret) {
|
65
|
+
//window[callback_id] = function(ret) {
|
51
66
|
|
52
|
-
//trueが表示されることを確認
|
67
|
+
////trueが表示されることを確認
|
53
|
-
alert(ret.status);
|
68
|
+
//alert(ret.status);
|
54
|
-
return ret ? ret : {"status":false };
|
69
|
+
//return ret ? ret : {"status":false };
|
55
70
|
|
56
|
-
}
|
71
|
+
//}
|
57
72
|
|
58
73
|
//小画面呼び出し
|
59
|
-
|
74
|
+
var ret window.open(url, callback,
|
60
75
|
"dialogWidth:" + width + "px;" +
|
61
76
|
"dialogHeight:" + height + "px;" +
|
62
|
-
"center:yes; scroll:no;")
|
77
|
+
"center:yes; scroll:no;");
|
63
78
|
|
79
|
+
return ret;
|
64
80
|
}
|
65
81
|
|
66
82
|
```
|
8
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,7 +11,6 @@
|
|
11
11
|
### 該当のソースコード
|
12
12
|
|
13
13
|
```親画面.html
|
14
|
-
|
15
14
|
親画面.html
|
16
15
|
|
17
16
|
<script type="text/javascript" src="子画面から親画面に値渡し.js"></script>
|
@@ -38,7 +37,6 @@
|
|
38
37
|
|
39
38
|
|
40
39
|
```子画面から親画面に値渡し.js
|
41
|
-
|
42
40
|
小画面から親画面に値渡し.js
|
43
41
|
|
44
42
|
//モーダル画面呼び出し
|
@@ -68,7 +66,6 @@
|
|
68
66
|
```
|
69
67
|
|
70
68
|
```子画面.html
|
71
|
-
|
72
69
|
小画面.html
|
73
70
|
|
74
71
|
<input type="button" value="確定"
|
7
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,7 +12,6 @@
|
|
12
12
|
|
13
13
|
```親画面.html
|
14
14
|
|
15
|
-
|
16
15
|
親画面.html
|
17
16
|
|
18
17
|
<script type="text/javascript" src="子画面から親画面に値渡し.js"></script>
|
@@ -40,7 +39,6 @@
|
|
40
39
|
|
41
40
|
```子画面から親画面に値渡し.js
|
42
41
|
|
43
|
-
|
44
42
|
小画面から親画面に値渡し.js
|
45
43
|
|
46
44
|
//モーダル画面呼び出し
|
@@ -71,7 +69,6 @@
|
|
71
69
|
|
72
70
|
```子画面.html
|
73
71
|
|
74
|
-
|
75
72
|
小画面.html
|
76
73
|
|
77
74
|
<input type="button" value="確定"
|
6
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,8 +10,11 @@
|
|
10
10
|
|
11
11
|
### 該当のソースコード
|
12
12
|
|
13
|
-
```親画面.html
|
13
|
+
```親画面.html
|
14
14
|
|
15
|
+
|
16
|
+
親画面.html
|
17
|
+
|
15
18
|
<script type="text/javascript" src="子画面から親画面に値渡し.js"></script>
|
16
19
|
<meta charset="UTF-8">
|
17
20
|
<body>
|
@@ -37,6 +40,9 @@
|
|
37
40
|
|
38
41
|
```子画面から親画面に値渡し.js
|
39
42
|
|
43
|
+
|
44
|
+
小画面から親画面に値渡し.js
|
45
|
+
|
40
46
|
//モーダル画面呼び出し
|
41
47
|
function openChild(url) {
|
42
48
|
return openDialog(url,900,680);
|
@@ -65,6 +71,9 @@
|
|
65
71
|
|
66
72
|
```子画面.html
|
67
73
|
|
74
|
+
|
75
|
+
小画面.html
|
76
|
+
|
68
77
|
<input type="button" value="確定"
|
69
78
|
onClick="ButtonClick()">
|
70
79
|
<meta charset="UTF-8">
|
5
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,7 +42,7 @@
|
|
42
42
|
return openDialog(url,900,680);
|
43
43
|
}
|
44
44
|
|
45
|
-
function openDialog(url,width,height)
|
45
|
+
function openDialog(url,width,height){
|
46
46
|
|
47
47
|
var callback_id = 'callback_modal';
|
48
48
|
window[callback_id] = function(ret) {
|
@@ -57,7 +57,7 @@
|
|
57
57
|
window.open(url, callback_id,
|
58
58
|
"dialogWidth:" + width + "px;" +
|
59
59
|
"dialogHeight:" + height + "px;" +
|
60
|
-
|
60
|
+
"center:yes; scroll:no;")
|
61
61
|
|
62
62
|
}
|
63
63
|
|
4
title
CHANGED
File without changes
|
body
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
//子画面ウインドウを開く
|
26
26
|
var ret = openChild("子画面.html");
|
27
27
|
|
28
|
-
//
|
28
|
+
//(ここ処理が通るのを確認したい)
|
29
29
|
if(ret.status) {
|
30
30
|
alert(ret.status);
|
31
31
|
}
|
@@ -37,12 +37,11 @@
|
|
37
37
|
|
38
38
|
```子画面から親画面に値渡し.js
|
39
39
|
|
40
|
-
//
|
40
|
+
//モーダル画面呼び出し
|
41
41
|
function openChild(url) {
|
42
42
|
return openDialog(url,900,680);
|
43
43
|
}
|
44
44
|
|
45
|
-
//モーダル画面呼び出し
|
46
45
|
function openDialog(url,width,height) {
|
47
46
|
|
48
47
|
var callback_id = 'callback_modal';
|
@@ -50,12 +49,16 @@
|
|
50
49
|
|
51
50
|
//trueが表示されることを確認
|
52
51
|
alert(ret.status);
|
53
|
-
|
52
|
+
return ret ? ret : {"status":false };
|
53
|
+
|
54
54
|
}
|
55
|
+
|
56
|
+
//小画面呼び出し
|
55
57
|
window.open(url, callback_id,
|
56
58
|
"dialogWidth:" + width + "px;" +
|
57
59
|
"dialogHeight:" + height + "px;" +
|
58
60
|
"center:yes; scroll:no;")
|
61
|
+
|
59
62
|
}
|
60
63
|
|
61
64
|
```
|
3
title
CHANGED
File without changes
|
body
CHANGED
@@ -49,9 +49,9 @@
|
|
49
49
|
window[callback_id] = function(ret) {
|
50
50
|
|
51
51
|
//trueが表示されることを確認
|
52
|
-
|
52
|
+
alert(ret.status);
|
53
|
-
|
53
|
+
return ret ? ret : {"status":false };
|
54
|
-
|
54
|
+
}
|
55
55
|
window.open(url, callback_id,
|
56
56
|
"dialogWidth:" + width + "px;" +
|
57
57
|
"dialogHeight:" + height + "px;" +
|
@@ -80,8 +80,6 @@
|
|
80
80
|
|
81
81
|
|
82
82
|
|
83
|
-
```
|
84
|
-
|
85
83
|
### 試したこと
|
86
84
|
https://qiita.com/hidehito108/items/f7ad9fe23736049a76d6
|
87
85
|
上記のサイトを参考にして、作業してみたのですがうまくいかず
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,20 +22,22 @@
|
|
22
22
|
//変更ボタン押下時の処理
|
23
23
|
function ButtonClick(){
|
24
24
|
|
25
|
-
|
25
|
+
//子画面ウインドウを開く
|
26
|
-
|
26
|
+
var ret = openChild("子画面.html");
|
27
27
|
|
28
|
-
|
28
|
+
//変数retにステータス値が格納されていることを確認(ここのアラート処理が通るのを確認したい)
|
29
|
-
|
29
|
+
if(ret.status) {
|
30
|
-
|
30
|
+
alert(ret.status);
|
31
|
-
}
|
32
31
|
}
|
32
|
+
}
|
33
33
|
</script>
|
34
34
|
|
35
|
+
```
|
35
36
|
|
36
|
-
子画面から親画面に値渡し.js
|
37
37
|
|
38
|
+
```子画面から親画面に値渡し.js
|
39
|
+
|
38
|
-
//
|
40
|
+
//小画面呼び出し
|
39
41
|
function openChild(url) {
|
40
42
|
return openDialog(url,900,680);
|
41
43
|
}
|
@@ -43,21 +45,28 @@
|
|
43
45
|
//モーダル画面呼び出し
|
44
46
|
function openDialog(url,width,height) {
|
45
47
|
|
46
|
-
|
48
|
+
var callback_id = 'callback_modal';
|
47
|
-
|
49
|
+
window[callback_id] = function(ret) {
|
48
50
|
|
49
|
-
|
51
|
+
//trueが表示されることを確認
|
50
|
-
|
52
|
+
alert(ret.status);
|
51
53
|
return ret ? ret : {"status":false };
|
52
54
|
}
|
55
|
+
window.open(url, callback_id,
|
56
|
+
"dialogWidth:" + width + "px;" +
|
53
|
-
|
57
|
+
"dialogHeight:" + height + "px;" +
|
58
|
+
"center:yes; scroll:no;")
|
54
59
|
}
|
55
60
|
|
56
|
-
|
61
|
+
```
|
57
62
|
|
63
|
+
```子画面.html
|
64
|
+
|
58
|
-
<input type="button" value="確定"
|
65
|
+
<input type="button" value="確定"
|
66
|
+
onClick="ButtonClick()">
|
59
67
|
<meta charset="UTF-8">
|
60
68
|
<script type="text/javascript">
|
69
|
+
|
61
70
|
//確定ボタン押下時
|
62
71
|
function ButtonClick(){
|
63
72
|
var ret = { "status" : true };
|
@@ -67,10 +76,10 @@
|
|
67
76
|
|
68
77
|
</script>
|
69
78
|
|
79
|
+
```
|
70
80
|
|
71
81
|
|
72
82
|
|
73
|
-
|
74
83
|
```
|
75
84
|
|
76
85
|
### 試したこと
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,8 +10,7 @@
|
|
10
10
|
|
11
11
|
### 該当のソースコード
|
12
12
|
|
13
|
-
```
|
14
|
-
親画面.html
|
13
|
+
```親画面.html
|
15
14
|
|
16
15
|
<script type="text/javascript" src="子画面から親画面に値渡し.js"></script>
|
17
16
|
<meta charset="UTF-8">
|