Bernhard Berger: createElement, setAttribute,.. IE DOM Bug?

Hallo Leute,
ich habe gestern ein kleines Script entworfen, welches mir einen modalen Dialog erzeugen sollte (mit ner AJAX-Styled Ladegrafik darin), sobald ein Formular abgeschickt wird. Im Firefox, Opera und Safari läuft das Teil auch problemlos - der IE hat aber wieder seine Macken und ich weis nicht warum.

Die verwendeten Methoden werden lt. SelfHTML alle von IE >= 6 unterstüzt, das Script jedoch funktioniert weder im 6er noch im 7er Internet Explorer.

Hat von euch jemand ne Idee warum?
URL zum Angucken: http://www.kolorartists.at/index.php?id=29

Funktionen:
-----------
// Die Methode wird onsubmit aufgerufen und erzeugt die DIV Container
function displayLoadingImage() {
 var myDiv = document.createElement("div");

var Id = document.createAttribute("id");
 Id.nodeValue = "greyScreen";
 myDiv.setAttributeNode(Id);

var myContent = document.createElement("div");
 var myText = document.createTextNode("Ihre Anfrage wird bearbeiet. Bitte haben sie etwas Geduld!");
 var myId = document.createAttribute("id");
 myId.nodeValue = "greyScreenText";
 myContent.setAttributeNode(myId);
 myContent.appendChild(myText);
    //myDiv.appendChild(myContent);

var Ausgabebereich = document.getElementsByTagName("body")[0];
 Ausgabebereich.appendChild(myDiv);
 Ausgabebereich.appendChild(myContent);
}

// Die Methode wird body onload aufgerufen und schreibt das onload-Ereignis ins Form-Tag
function initializeImageLoader() {
 var Forms = document.getElementsByTagName("form");

var dLI = document.createAttribute("onsubmit");
 dLI.nodeValue = "displayLoadingImage()";

for (i = 0; i < Forms.length; i++) {
  Forms[i].setAttributeNode(dLI);
 }
}

  1. hi,

    Die verwendeten Methoden werden lt. SelfHTML alle von IE >= 6 unterstüzt, das Script jedoch funktioniert weder im 6er noch im 7er Internet Explorer.

    "Funktioniert nicht" taugt nichts als Problembeschreibung.

    Fehlermeldungen? Vom erwarteten abweichendes Verhalten? Ergebnisse deiner sonstigen Debug-Versuche?

    Ansonsten kann man nur zum x-ten Mal wiederholen, dass setAttribute im IE oftmals Probleme macht, und stattdessen die simple Schreibweise
    objekt.attribut = wert;
    zu bevorzugen ist.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }