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 :

document.getElementById ne retourne pas mon objet


Sujet :

JavaScript

  1. #1
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut document.getElementById ne retourne pas mon objet
    Bonjour,

    Je tente d'écrire une fonction en JS qui va modifier la source d'une IFRAME dans une page.

    Ce JS est lancé par un bouton qui fait à priori un "eval()" de mon code.
    Je ne peux pas modifier ce comportement.

    Et j'ai l'impression que le périmètre du "eval" ne comprend pas le document en cours, ou alors qu'un bout, ou je ne sais quoi.

    En effet, dans le debugger de Firefox, mon IFRAME a ce code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <iframe id="form_formFrame1" class="u8-form-widget u8-formframe" data-widget="FormFrame" name="formFrame1" src="Blank.htm"></iframe>

    Cependant, dans mon code, lorsque je tente de faire ceci :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    document.getElementById("form_formFrame1")
    document.getElementsByName("formFrame1")
    document.evaluate("//*[@id=\"form_formFrame1\"]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
    J'obtiens toujours null.

    J'imagine que c'est l'objet "document" qui n'est pas ma page, mais autre chose... Une idée ?
    On ne jouit bien que de ce qu’on partage.

  2. #2
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 388
    Points : 578
    Points
    578
    Par défaut
    Bonjour,

    Dans mes vagues souvenirs, je crois avoir déjà rencontré ce problème. Je l'avais résolu, il me semble, avec le tableau "frames[]" :

    https://developer.mozilla.org/fr/doc.../Window/frames

  3. #3
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    je récupère bien le frame par son id ...
    https://jsfiddle.net/4rp6ry0d
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    J'ai fini par m'en sortir avec un "window.main.work1.formFrame1" (de mémoire, à moins que ce soit sans le "window", j'ai plus le code sous la main pour l'instant)

    En fait, il y a plusieurs iframe imbriqués (c'est un joyeux bordel). Du coup le "document" exposé doit pas être celui de l'iframe en cours ni celui d'un parent, mais d'un "frère" (dans un autre iframe contenu dans la même arborescence).

    J'aime pas trop avoir des "noms magiques" et une hiérarchie figée de la sorte, mais pour mon cas ça devrait suffir comme ça. Sinon la solution à base de frames[] pourrait être une piste si demain j'ai des soucis.
    On ne jouit bien que de ce qu’on partage.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/10/2010, 14h02
  2. Document.paragraph n'est pas un objet visual lors d'un clic
    Par christi dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 10/09/2010, 08h54
  3. getElementById () ne cible pas l'objet
    Par Titi41 dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 05/06/2008, 12h08
  4. document.form n'est pas un objet
    Par mouzaia dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/01/2006, 22h42
  5. Document.form... n'est pas un objet
    Par mcbrett dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/01/2006, 09h38

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