Ralf: onload bei dynamisch erzeugtem IFRAME im IE funktioniert nicht

Beitrag lesen

Nur weil du es Wissen wolltest wie es geht (ich auch ;-) )

Vielleicht hast du eine Idee zu einem Nachfolgeproblem, was sich nun aufgetan hat. Vermutlich fehlt mir da noch das Verständnis. Hier ein Ausschnitt:

  
  var vorlagen = document.getElementsByClassName("vorlage"); //prototype.js  
  if (!vorlagen.length) return;  
  for (var i=0; i<vorlagen.length; i++) {  
    var prodid = vorlagen[i].className.match(/\d+/);  
    if (prodid) {  
      var nf = document.createElement("IFRAME");  
      document.body.appendChild(nf);  
      nf.src = "produkt.aspx?produktid="+prodid;  
      Event.observe(nf, 'load', function() { //prototype.js  
        var v = nf.contentWindow.document.getElementById("vorlage");  
        if (v) vorlagen[i].appendChild(v);  
        });  
      }  
//    break;  
    }  

In dem Code soll für alle Elemente mit class=vorlage ein Ausschnitt aus einem Dokument eingesetzt werden, welches per IFRAME geladen wird. Das funktioniert auch, wenn es nur ein Element mit class=vorlage gibt (bzw. das break nicht auskommentiert ist). Gibt es aber mehrere, bringt der Firefox "vorlagen[i] has no properties" für die anonyme Funktion.

Irgendwie verstehe ich auch, dass durch den nächsten Schleifendurchlauf der Wert weg ist, aber wie mache ich es richtig?

Ralf