Bonjour à tous,

J'ai un problème avec des fonctions javascript qui ne sont pas prises en compte sur IE7 alors qu'elles fonctionnent bien sur Firefox.

Il s'agit des fonctions déplier et replier que vous trouverez dans l'onglet Thème de l'application suivante : http://cartographie.bretagne-environnement.org/

Voici le passage du Template qui fait appel à ces fonctions :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<a href="javascript:expandAll('layersroot');">{t}expand tree{/t}</a> -
<a href="javascript:closeAll('layersroot');">{t}closetree{/t}</a><br/>
et les fonctions javascripts :


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
 
  function expandAll(id) {
  var mydiv = document.getElementById(id);
  var divs = mydiv.getElementsByTagName('div');
  var key;
 
  openNodes = new Array();
 
  for (var i = 0; i < divs.length; i++) {
    divs[i].style.display = 'block';
    var nid = divs[i].id;
    openNodes.push(nid.substr(2));
    key = document.getElementById('x' + nid);
    if (key) replacePic(key, 'plus', 'minus');
  }
 
  writeOpenNodes(true);
}
 
function closeAll(id) {
  var mydiv = document.getElementById(id);
  var divs = mydiv.getElementsByTagName('div');
  var key;
 
  for (var i = 0; i < divs.length; i++) {    
    key = document.getElementById('x' + divs[i].id);
    if (key) replacePic(key, 'minus', 'plus');
 
    if (divs[i].getAttribute('id')) {
        divs[i].style.display = 'none';    
    }
  }
 
  openNodes = new Array();
  writeOpenNodes(true);
}
Pensez-vous que ce problème vienne du code Javascript? Et si oui, avez-vous une idée sur la manière pour rendre ces fonctions utilisables avec IE7?

Désolé, si ma question semble simple, mais mes connaissances en javascript sont minimes.
Erwann