Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fermeture Fenêtre

windows.close() marche pas...

Sujet résolu
    8 janvier 2011 à 17:12:31

    Salut à tous !

    Je viens ici vous demander la solution à un p'tit problème qui me nargue depuis avant-hier!

    Je vous explique :
    1/ sur page1.php, j'ai un lien qui ouvre une popup page2.php
    2/ sur page2.php, le visiteur clique sur une image, et un script transmet les coordonnées du clic à page1.php

    Mon problème est tout bête : j'aimerais que page2.php se ferme juste après avoir cliqué !

    Voici les morceaux de codes en question (respectivement page1.php, page2.php et le fichier JS inclus dans les 2 pages) :
    <a href="#" onclick="OuvreFenetreFille()">Positionner</a></span><br />
    <input type="hidden" name="position_x" id="position_x" size="30" />
    <input type="hidden" name="position_y" id="position_y" size="30" />
    


    <img name="image" src="../domaine-hd.png" alt="domaine" title="Plan du Domaine" id="domaine" width="500" height="500" onclick="TransfertFilleMere()"/>
    <form name="formulaire">
    	<input type="hidden" name="pos_x" id="pos_x" size="20" maxlength="10">
    	<input type="hidden" name="pos_y"  id="pos_y" size="20" maxlength="10">
    </form>
    


    var fenFille;
    
    function OuvreFenetreFille() {
    	fenFille = window.open("positionnement.php","","height=500,width=500,toolbar=no,menubar=no,status=no");
    }
    function TransfertFilleMere() {
    	var position_x=window.opener.document.getElementById("position_x");
    	var position_y=window.opener.document.getElementById("position_y");
    	
    	var pos_x=document.getElementById("pos_x");
    	var pos_y=document.getElementById("pos_y");
    
    	position_x.value=pos_x.value;
    	position_y.value=pos_y.value;
    	
    	fenFille.close();
    }
    


    Tout marche sans soucis, sauf la fermeture de page2.php :colere2:

    Si quelqu'un pouvait m'expliquer pourquoi, je lui en serait très reconnaissant !

    Merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      8 janvier 2011 à 17:44:24

      Je comprend mal ton JavaScript là, toutes tes fonctions sont dans un même fichier ? Et tu inclus ce fichier sur les deux pages ?

      Si oui, il ne faut pas faire ça.

      Tu mets sur la page principale :

      var fenFille;
      
      function OuvreFenetreFille() {
      	fenFille = window.open("positionnement.php","","height=500,width=500,toolbar=no,menubar=no,status=no");
      }
      


      Et dans la popup :


      function TransfertFilleMere() {
      	var position_x=window.opener.document.getElementById("position_x");
      	var position_y=window.opener.document.getElementById("position_y");
      	
      	var pos_x=document.getElementById("pos_x");
      	var pos_y=document.getElementById("pos_y");
      
      	position_x.value=pos_x.value;
      	position_y.value=pos_y.value;
      	
      	window.close();
      }
      


      Car avec ta manière de faire, fenFille n'est pas défini dans la popup.
      • Partager sur Facebook
      • Partager sur Twitter
        8 janvier 2011 à 17:48:04

        Effectivement, de cette manière, aucun soucis dans le fermeture de la fenêtre !

        Grand merci à toi ;)
        • Partager sur Facebook
        • Partager sur Twitter

        Fermeture Fenêtre

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown