Section : La gestion des fenêtres et des frames
Q : Comment transmettre des données d'une fenêtre parent vers une fenêtre enfant et réciproquement ?
R :
- 1ère possibilité :
Fenêtre enfant ouverte avec window.open().
Pièce jointe : exemple avec test de la présence de la fenêtre fille (ouvrez varMereFille.htm).
Un bug dû à l'utilisation de document.write() dans le fichier varFilleMere.htm a été corrigé- 2ème possibilité :
Fenêtre enfant ouverte avec showModelessDialog()- 3ème possibilité :
La page enfant est contenue dans une iframe :
frameMere.htm
Code htlm : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 <html> <head> <title></title> <script type="text/javascript"> <!-- function transfertVersFille() { var info = prompt("Valeur à transmettre ?"); window.frames["maFrame"].data = info; window.frames["maFrame"].affiche(); } function afficheParent(valeur) { document.getElementById("idDivParent").innerHTML = valeur; } //--> </script> </head> <body> <iframe id="maFrame" name="maFrame" src="frameFille.htm" style="height: 150px; width: 300px"> </iframe> <br> <input type="button" value=">>Frame fille" onclick="transfertVersFille()"> <br><br> Valeur transmise : <div id="idDivParent"></div> </body> </html>
frameFille.htm
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 <html> <head> <title></title> <script type="text/javascript"> <!-- var data; function affiche() { document.getElementById("idDiv").innerHTML = data; } function transfertVersParent() { var info = prompt("Valeur à transmettre ?"); window.parent.afficheParent(info); } //--> </script> </head> <body> <input type="button" value=">>Frame Parent" onclick="transfertVersParent()"> <br><br><br> valeur transmise : <div id="idDiv"></div> </body> </html>
Remarques :
Dans le troisième cas : préciser les attribtuts id et name de l' iframe (leur donner les mêmes valeurs).
Les codes 1-2-3 ont été testés sous IE et Firefox.
Partager