1 pièce(s) jointe(s)
Transférer des informations : fenêtre parent <-> fenêtre enfant
Citation:
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:
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:
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.
transférer des données d'une iframe vers une autre
Suite à ma question: http://www.developpez.net/forums/d13...frame-contenu/
Je teste la méthode décrite avec IFrameHaut et IFrameBas.
1/ OK avec SeaMonkey
2/ KO avec Chrome 29
Mais en regardant de plus près cette méthode, ainsi celle de SpaceFrog, je m'aperçois que le passage d'info de père à fille se fait via un input type id.
Or dans "mon" cas de figure je passe l'info dans la fonction d'appel:
Code:
<a href="#" onclick="PasseInfo('UNOXok');return false;"><img src="img/UNOXok/1.jpg"></a>
Par ailleurs, la méthode de SpaceFrog me paraît inappropiée dans mon cas, l'iframe menu comportant des centaines de vignettes.
Une solution cross-browser?
Merci