Accueil > Forum > > > > Onclick sur fenêtre mère
Onclick sur fenêtre mère
vendredi 8 février 2008 à 14:22:30 |
Onclick sur fenêtre mère

kakoo
|
Bonjour, J'ai un problème qui m'enquiquine depuis 2 jours...je m'explique : Depuis ma fenêtre principale, j'ouvre une fenêtre fille sur des liens par window.open, depuis un tableau Dans cette fenêtre fille, j'effectue quelques opérations et je modifie une seule partie de la fenêtre mère, afin de mettre à jour ce tableau (encadré par des <DIV>), tableau dans le lequel il y a ces liens, également mis à jour, et appeleront la fenêtre fille, et ainsi de suite.
Le problème est que je génère le tableau par un script qui est le suivant sur la fenêtre mère var myid = document.getElementById("detpdti"); myid.innerHTML = ''; mytable = document.createElement("TABLE"); mytablebody = document.createElement("tbody"); mycurrent_header = document.createElement("th"); currentth = document.createTextNode("Code"); mycurrent_header.appendChild(currentth); mytablebody.appendChild(mycurrent_header); ... ... mycurrent_cell = document.createElement("td"); mycurrent_link = document.createElement("a"); mycurrent_link.setAttribute("href", "javascript:;"); mycurrent_link.onclick = function() {window.open('pdti_maj.php?td=edit&ci=I070000009&ca=A1','fs','top=262, left=290, width=700, height=500, status=no,scrollbars=no,menubar=no,statusbar=no,location=no,locationbar=no');}; mycurrent_img = document.createElement("img"); mycurrent_img.setAttribute("src", "../img/edit.png"); mycurrent_img.setAttribute("title", "Modifier la ligne article"); mycurrent_img.setAttribute("border", "0"); mycurrent_img.setAttribute("align", "absmiddle"); mycurrent_link.appendChild(mycurrent_img); mycurrent_cell.appendChild(mycurrent_link); .... etc
Et le suivant depuis la fenêtre fille : var myid = window.opener.document.getElementById("detpdti"); myid.innerHTML = ''; mytable = window.opener.document.createElement("TABLE"); mytablebody = window.opener.document.createElement("tbody"); mycurrent_header = window.opener.document.createElement("th"); currentth = window.opener.document.createTextNode("Code"); mycurrent_header.appendChild(currentth); mytablebody.appendChild(mycurrent_header); ... ... mycurrent_cell = window.opener.document.createElement("td"); mycurrent_link = window.opener.document.createElement("a"); mycurrent_link.setAttribute("href", "javascript:;"); mycurrent_link.onclick = function() {window.open('pdti_maj.php?td=edit&ci=I070000009&ca=A1','fs','top=262, left=290, width=700, height=500, status=no,scrollbars=no,menubar=no,statusbar=no,location=no,locationbar=no');}; mycurrent_img = window.opener.document.createElement("img"); mycurrent_img.setAttribute("src", "../img/edit.png"); mycurrent_img.setAttribute("title", "Modifier la ligne article"); mycurrent_img.setAttribute("border", "0"); mycurrent_img.setAttribute("align", "absmiddle"); mycurrent_link.appendChild(mycurrent_img); mycurrent_cell.appendChild(mycurrent_link); ... ...
Bien évidemment, lorsque cette mise à jour est terminée, je ferme la fenêtre fille...et les liens "onclick" ne fonctionnent plus puisqu'à priori Javascript considère que l'appelant du window.open est cette fenêtre fille et non pas la fenêtre mère. J'ai pensé à complètement reconstruire mon tableau avec du code html injecté par innerHTML, mais je trouve pas ça "très propre". Auriez-vous une idée car je sèche complètement  Merci d'avance.
|
|
vendredi 8 février 2008 à 16:47:04 |
Re : Onclick sur fenêtre mère

PetoleTeam
|
Bonjour, pourquoi faire deux fonctions une dans la fenêtre mère et une dans la fenêtre fille, il serait plus simple d'appeler de la fenêtre fille la fonction de la fenêtre mère window.opener.Nom_Fonction() ;O)
|
|
vendredi 8 février 2008 à 18:06:06 |
Re : Onclick sur fenêtre mère

kakoo
|
Bonsoir,
Ca j'y avais pensé, mais le problème est que comme le tableau est entièrement dynamique (généré en fonction de la présence ou non de certains enregistrements), je dois d'abord mettre à jour le script sur la fenêtre mère pour qu'il me réaffiche à chaque fois complètement toutes les lignes (les ajouts ou sans ceux supprimées).
Si je lance le script de la fenêtre mère, je régénère le tableau d'origine et pas celui modifié...
Merci
|
|
lundi 11 février 2008 à 17:57:33 |
Re : Onclick sur fenêtre mère

PetoleTeam
|
Bonjour, J'ai un peu de mal à bien comprendre mais as tu essayé de supprimer le window de window.open (... Just for test... Si tu avais un lien pour bien ce rendre compte du problème. ;O)
|
|
lundi 11 février 2008 à 18:18:49 |
Re : Onclick sur fenêtre mère

kakoo
|
Je vais essayer d'être plus clair...
Je génère un tableau par un script javascript depuis une page html (jusque là, tout va bien).
Sur ce tableau, il y a des liens qui ouvrent une fenêtre fille dans laquelle je vais effectuer des calculs, à la suite desquels un script Javascript (lancé depuis la fenête fille) va recréer le tableau dans la fenêtre mère (inclus les liens) , puis refermer cette fenêtre fille.
Le problème est que le "mycurrent_link.onclick" généré depuis la fenête fille, dans le tableau de la fenêtre mère, et qui lancera une commande "window.open" semble (et c'est à priori normal) se référer à la fenêtre fille...qui est refermée.
Du coup, quand on clique sur le lien concerné par le "mycurrent_link.onclick", il y a une erreure javascript puisque le référent (la fenêtre fille) n'existe plus.
C'est plus clair, là ?
PS : je n'ai pas de lien, désolé
|
|
lundi 11 février 2008 à 19:33:38 |
Re : Onclick sur fenêtre mère

PetoleTeam
|
Effectivement, Vu après constitution d'un exemple, il semble que les function anonyme garde la ref window sous forme d'adresse et non de "texte"... Il te faut mettre function() {window.opener.open(... ;O)
|
|
lundi 11 février 2008 à 20:07:43 |
Re : Onclick sur fenêtre mère

kakoo
|
Bonsoir, Et à ton avis, le fait que la fenêtre "créatrice" du tableau, à savoir la fenêtre fille, ait disparu (car refermée) et que le lien "window.opener.open" soit sur la fenêtre mère, ça va fonctionner ? Là, j'ai un doute... 
|
|
lundi 11 février 2008 à 21:27:49 |
Re : Onclick sur fenêtre mère

PetoleTeam
|
Aucune garanti les navigateurs n'ayant pas la même façon de gérer cela, pour preuve test sous FireFox -> OK sous IE -> NOK. Une solution consisterait peut être à créer une fonction dans la page mére et de l'affecter au onclick... ;O)
|
|
Cette discussion est classée dans : document, img, fenêtre, window, mycurrent
Répondre à ce message
Sujets en rapport avec ce message
Marche pas sous IE [ par taxidogkiller ]
Bonjour, j'ai télécharger un script de galerie d'image et en voulant le bidouiller je suis tomber sur des fonction javascript qui ne marche que sous m
Fermer une fenêtre [ par Mickey VB ]
Bonjour, J'utilise un bouton dans une fenetre 'A', qui m'ouvre avec un script javascript une nouvelle fenetre IE (window.open) que l'on appelera 'B'.C
Cohabitation entre 2 codes impossible (compte à rebours+neige) [ par Aggshkn ]
Bonjour,Je souhaite mettre dans une même page deux codes javascipt : un compte à rebours jusqu' au début de l' année 2006 (http://www.editeurjavascrip
Retour variable palette graphique [ par neooh56 ]
Bonjour J'ai recupéré un script de pallette graphique je clic sur un bouton ca ouvre la palette et quand je clic sur une couleur ca la ferme et renvoi
Print et load [ par zrelli ]
j'ai besoin d'imprimer une fentre juste à l'evenemt load, j'ai rencontrer des pbs.voila mon code !var printwindow=window.open("_blank","print","");pri
apparition d'une fenêtre diamettre, qui apparait à 10 pixels du curseur en javascript et html [ par Barbapapa2 ]
Barbapapa2 bonjour tous le monde, J'ai un prb avec une fenêtre qui apparait une fois que je clic sur un lien. Mais que je n'arrive pas à faire aparait
Creer une boîte de dialogue [ par guill76 ]
Bonjour, je bute sur un petit pb:J'aimerais ouvrir à l'intérieur de la page de mon site une petite boîte de dialogue afin que l'utilisateur puisse env
centrer un popup avec FF..... [ par jacknikolson ]
Salut à tous et bonne année.J'utilise un cms (pwsphp) avec une galerie d'images. Il y a un JS pour afficher les images en popup. je voudrais que l'ima
probleme firefox IE avec vérification de formulaire [ par vaesoli ]
bonjour voila mon problème, j’ais un script js qui fonctionne tres bien sous firefox mais qui plante completement sous IE ce script est censé vérifier
onresize accés refusé [ par abdoulax ]
Bonjour, J'ai fait un pti bou de code qui permet de garder la fenetre tjs maximisé. window.onresize= AccResizeWin; function AccResizeWin() { win
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|