IE und getElementById Problem

elkassi

Mitglied
Hallo, ich hab folgendes Problem im Internet Explorer (Mozilla works fine!):
Code:
<script>
  function show(id) {
    var m=document.menu.elements;
    for(i=0;i<m.length;i++) {
      var e = document.getElementById(m[i].name);
      e.style.display="none";
    }
    document.getElementById("div"+id).style.display="block";
  }
</script>
...
<form name="menu">
  <input type="button" class="button" onclick="show(this.name)" name="name1" value="Buttontext1">
  <input type="button" class="button" onclick="show(this.name)" name="name2" value="Buttontext2">
  ...
</form>
<div id="name1">...</div>
<div id="name2>...</div>

Mittels der Funktion "show" blende ich je nach Buttonauswahl alle Divs aus und das entsprechende ein.
So der Plan; Mozilla tut das auch wunderbar, nur der IE blendet nicht die DIVs aus, sondern die Buttons! :suspekt: - obwohl dort überhaupt keine id="name1" etc. vorkommen - und lässt die Divs unberührt.

Habe ich einen Denkfehler?
Gibt es eine Möglichkeit, das obige Schema auch für IE anzuwenden?
(Fehlt irgendwo noch ein entscheidendes Tag?)

Bislang hab ich nur einen "Workaround": die divs heißen "divmenu1" und in der Funktion steht
Code:
getElementById("div"+m[i].name);
was ich aber aus noch anderen Gründen unschön finden.

Gruß und Dank
elkassi
 
Nö... den Denkfehler hat der IE, ...der denkt name==id :-)

Code:
Bislang hab ich nur einen "Workaround": die divs heißen "divmenu1" und in der Funktion steht getElementById("div"+m[i].name);
was ich aber aus noch anderen Gründen unschön finden.
....was passt dir denn nicht darin.... das ist auf jeden Fall ein wirksamer Weg und nach meinem Gusto weitaus eleganter, als für mehrere Elemente gleiche ID's/Namen zu verwenden (auch wenns erlaubt ist):).
 

Neue Beiträge

Zurück