Bonjour à tous,

J'espère qu'il y a des pros du javascript par ici !!

Est-ce que qqn peut m'expliquer pq, lorsque je clique sur le bouton de ma page, le code contenu dans le div "monDiv" se dédouble en partie sous Internet Explorer 7.0.
Sous FireFox 3.5, le bug ne se produit pas.

Ok je sais que le contenu de mon div est bizarre pcq on ne peut pas imbriquer des <p>, mais je dois faire avec, désolé ...

C'est un bout de code que j'ai fortement simplifié pour espérer avoir de l'aide de votre part, et pq pas une solution (qui sait, ça fait une semaine que je cherche, mais bon, l'espoir fait vivre comme on dit )

Page complète à ouvrir dans Internet Explorer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<html>
  <head>
    <script type="text/javascript">
      function getResult(oNode) {
        document.getElementById('result').value = '';
        getXhtml(oNode, document.getElementById('result'));
      }
 
      function getXhtml(oNode, objInput) {
        switch (oNode.nodeType) {
          case 1: // element
            objInput.value += "<" + oNode.nodeName;
 
            if (oNode.canHaveChildren || oNode.hasChildNodes()) {
              objInput.value += ">";
 
              for (var i = 0; i < oNode.childNodes.length; i++) {
                getXhtml(oNode.childNodes[i], objInput);
              }
 
              objInput.value += "</" + oNode.nodeName + ">";
            } else {
              objInput.value += " />";
            }
 
            break;
 
          case 3: // text
            objInput.value += oNode.nodeValue;
            break;
        }
      }
    </script>
  </head>
  <body>
    <div id="monDiv">
      <p id="id1">
        <font id="id2">
          <p id="id3">texte1</p>
        </font>
      </p>
      <p id="id4">texte2</p>
    </div>
 
    <br/><br/>
    <input type="button" value="Pourquoi est-ce que le code se dédouble quand on clique sur ce bouton ??! :-(" onclick="javascript:getResult(document.getElementById('monDiv'));"/>
    <br/><br/>
    <input type="text" id="result" value="" size="150"/>
  </body>
</html>
Donc si vous avez bien compris mon code, tout ce que je souhaite, c'est récupérer tout le contenu du div dans le champ de type "text".

Une seule contrainte : ne pas utiliser l'innerHTML.

Merci