Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arborescence DOM

Anonyme
    27 novembre 2011 à 21:33:57

    Bonjour,

    je débute en javascript et notament avec le DOM.
    J'aimerais créer un script d'insertion de smiley sur un de mes forums, j'ai bien compris les différentes étapes et la façon de le faire mais je rencontre un problème que je n'arrive pas à résoudre.

    En effet, je n'arrive pas à sélectionner la zone de texte car j'utilise un éditeur WYSIWYG qui utilise une arborescence à s'arracher les cheveux ; Voilà le chemin que je dois sélectionner :

    Citation : DOM


    <form id="postform">
    ---<label>
    ---<label>
    ---<label for="post_content">
    ------<div>
    ---------.... 20 div ...
    ---------<div>
    ------------<iframe>
    ---------------<html>
    ------------------<head>
    ------------------<body id="editor">



    Bref, une vraie mer*e pour sélectionner mon <body id="editor"> dans lequel il y a le texte tapé.
    J'arrive à sélectionner la iframe, mais impossible d'aller plus loin ! Voilà ce que j'ai fais :

    var forrm = window.document.getElementById("postform").getElementsByTagName('label')[2].getElementsByTagName('div')[0].getElementsByTagName('div')[20];
    var forrm2 = forrm.getElementsByTagName('iframe')[0].firstChild.getElementById("editor");
    


    Une idée pour m'aider ?
    Merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      27 novembre 2011 à 21:39:32

      Sauf erreur de ma part, c'est dans la zone de saisie qu'il faut envoyer le code de ton smiley. L'iframe ne sert qu'à la prévisualisation du message.
      • Partager sur Facebook
      • Partager sur Twitter
        27 novembre 2011 à 21:53:01

        Quel wysiwyg utilises-tu ? S'il dispose d'une API, il serait judicieux de l'utiliser.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          27 novembre 2011 à 22:04:49

          Bonsoir à vous,

          @Geoffrey : la zone de saisie est le <body id="editor"> :) je suis d'accord, c'est chelou !

          @ Golmote : il s'agit de TinyEditor : http://sandbox.scriptiny.com/tinyeditor/
          Si j'essaie de créer un script pour les smileys moi-même, c'est justement parce qu'il ne le propose (malheureusement) pas :(
          • Partager sur Facebook
          • Partager sur Twitter
            27 novembre 2011 à 22:29:42

            Je ne parle d'API pour modifier le contenu sans avoir à se battre avec leur arbo ^^'

            Mais y'a pas l'air d'y avoir d'API sur celui-ci... en même temps il a pour vocation d'être léger, pas complet.
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              27 novembre 2011 à 23:33:03

              Donc ? Une idée de comment sélectionner mon élément ?

              EDIT : j'ai trouvé, les iframe se manipulent un peu spécialement :

              .getElementsByTagName('iframe')[0].contentWindow.document.body
              
              • Partager sur Facebook
              • Partager sur Twitter

              Arborescence DOM

              × 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