IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[DOM] Modification du DOM d'une popup


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut [DOM] Modification du DOM d'une popup
    Bonjour,

    je souhaite ouvrir une popup (une page html) et ensuite je voudrais modifier son DOM. Par exemple, ajouter un "div" à ma popup.
    Malheureusement, ça ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var properties="width=110px,height=110px,top=110,left=100,screenY=50,screenX=100,resizable=yes,scrollbars=yes,location=no";
    var newWindow = window.open("templatePopup.html", "POPUP", "" + properties);
     
    var NewDiv = newWindow.document.createElement("div");
    Est-ce possible de modifier le DOM d'un popup ?
    Je n'arrive pas à récupérer les éléments de ma popup non plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var divPopup = newWindow.document.getElementById("divPopup");
    ça me retourne null.

    Merci de votre aide.


  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    si tu mets la ligne de fréation ou recupération de l'element juste àprès la commande d'ouverture, il est possible que le popup ne soit pas encore instancié ...

    tu ne parles pas de l'appendChild ?

    mets un setTimeout ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    voici mon code javascript avec le setTimeout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	<script type="text/javascript">
    		var newWindow;
     
    		function pop_out() {
    			var properties="width=110px,height=110px,top=110,left=100,screenY=50,screenX=100,resizable=yes,scrollbars=yes,location=no";
    			newWindow = window.open("templatePopup.html", "POPUP", "" + properties);
    			setTimeout("test", "2000");
    		}
    		function test() {
    			var NewDiv = newWindow.document.createElement("div");
    		}
    	</script>
    je ne passe jamais par ma méthode test
    Merci

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 325
    Points
    16 325
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setTimeout(function(){test()}, 2000);

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    cela ne marche toujours pas
    je n'arrive pas à créer un div dans ma popup ni même à récupérer un dic contenu dans le hmtl de ma popup.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var properties="width=110px,height=110px,top=110,left=100,screenY=50,screenX=100,resizable=yes,scrollbars=yes,location=no";
    var newWindow = window.open("templatePopup.html", "POPUP", "" + properties);
    var divPopup = newWindow.document.getElementById("divPopup");
    la variable "divPopup" est nulle.
    Même en utilisant le setTimeout, ça ne marche pas.

    code de ma page templatePopup.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <html>
    	<body>
    		<div id="divPopup">
    			test
    		</div>
    	</body>
     
    </html>
    Je me demande si on peut modifier le contenu d'une page qu'on ouvre ?
    Encore merci de votre aide.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var properties="width=110px,height=110px,top=110,left=100,screenY=50,screenX=100,resizable=yes,scrollbars=yes,location=no";
    var newWindow = window.open("templatePopup.html", "POPUP", "" + properties);
    setTimeout(function(){var divPopup = newWindow.document.getElementById("divPopup");},500)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    ça marche !
    tu avais raison SpaceFrog :

    il est possible que le popup ne soit pas encore instancié ...
    Merci bcp !!!

    voici mon code qui marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function pop_out() {
       var properties="width=110px,height=110px,top=110,left=100,screenY=50,screenX=100,resizable=yes,scrollbars=yes,location=no"; 
       var newWindow = window.open("templatePopup.html", "POPUP", "" + properties); 
      setTimeout(function(){
           var divPopup = newWindow.document.getElementById("divPopup");
           var divParent = document.getElementById("divParent");
    	divPopup.appendChild(divParent);
      },100);
    }
    Je ferme le post.
    Encore un grand merci !!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Détecter les modifications du DOM dans une div
    Par Invité dans le forum jQuery
    Réponses: 3
    Dernier message: 01/12/2011, 17h14
  2. [DOM] Surveiller une modification du DOM (lib prototype)
    Par Cladjidane dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 04/02/2008, 14h58
  3. [DOM] Modification du HTML via une fonction JS ?
    Par ghohm dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/11/2007, 16h22
  4. [DOM] Modification du DOM non visible lors d'un setInterval
    Par Mr N. dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 02/11/2007, 14h36
  5. [DOM] Editer l'innerHTML d'une popup
    Par thomzon dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/06/2007, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo