Timo: Problem mit verschachteltem EventHandling und dem IE

Hallo,

ich habe folgendes Problem:
Ich habe mit Javascript einen Button programmiert, bei dessen Anklicken sich eine Auswahlliste mit mehreren Einträgen öffnet.
Beim Anklicken dieser Einträge soll, je nach Eintrag in einem anderen Bereich der Seite ein in einem Array hinterlegtes Bild angezeigt werden.
Das Script sieht (in gekürzter Form) wie folgt aus:

  
<script type="text/javascript">  
var Titel="<p style='font-size:12pt; font-weight:bold;'>W&auml;hle einen Wettkampf aus:</p>";  
  
var ArchivPics=new Array("<img src='test.jpg' />","<img src='test2.jpg' />","<img src='test3.jpg' />")  
  
function loeschen(){  
 document.getElementById("artselect").innerHTML = "";  
 document.getElementById("artikel").innerHTML = "";  
}  
  
function archiv(){  
var WK = new Array("Eintrag1","Eintrag2","Eintrag3");  
var Eintraege = "<option selected='selected' onClick='archivArtikel(0)'>"+WK[0]+"</option>";  
for(var i = 1;i <= WK.length-1;i++){  
 Eintraege = Eintraege + "<option onClick='archivArtikel("+i+")'>"+WK[i]+"</option>";  
}  
var Liste = Titel+"<form action='select.htm'><select size='1'>"+Eintraege+"</select>";  
document.getElementById("artselect").innerHTML = Liste;  
}  
  
function archivArtikel(nummer){  
document.getElementById("artikel").innerHTML=ArchivPics[nummer];  
}  
  
 </script>  
</head>  

Die beiden Ausgabeorte für die Auswahlliste (artselect und artikel) sind Tabellenzellen.
Im Firefox funktioniert das Script einwandfrei, im IE wird die Auswahlliste mit den Einträgen korrekt angezeigt, nur das Event-Handling bei Anklicken der Einträge funktioniert nicht.

Gibt es hier eine Möglichkeit, das ohne das DOM zu programmieren, so dass es auch im IE funktioniert? Würde das Script gerne so, bzw. so ähnlich  verwenden.

Grüße
Timo

  1. Hi,

    Gibt es hier eine Möglichkeit, das ohne das DOM zu programmieren,

    Ohne DOM? Du bist lustig, dieses innerHTML-Gebastel ist doch schon so wenig DOM wie moeglich.

    so dass es auch im IE funktioniert?

    Dein Problem liegt hier:

    var Eintraege = "<option selected='selected' onClick='archivArtikel(0)'>"+WK[0]+"</option>";

    Der IE feuert kein onclick auf Options.
    Nutze also onchange auf dem Select, und ermittle dir von dort aus, welche Option selektiert ist.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Danke für die prompte Antwort!

      Hat mir sehr geholfen. Woher soll man denn auch ahnen, dass der IE auf das onClick-Attribut nicht reagiert...

      Jedenfalls hat mir die schnelle Antwort das Eingrenzen bei der Fehlersuche erspart.

      Timo