molily: Mit JavaScript generierte Input Felder mit POST submitten?

Beitrag lesen

Hallo,

var inhalt = document.createElement("input");
                var str = array[y] + "_" + x;
                inhalt.setAttribute("onblur", "init(this," + x +");");

Das wird auch nicht browserübergreifend funktionieren.

So geht das Registrieren von Event-Handlern:

Schema: element.onevent = funktionsreferenz;

Hier entweder:

inhalt.x = x; // Wert am Element speichern  
inhalt.onblur = function () {  
   init(this, this.x); // Und hier wieder auslesen  
};

Oder dasselbe wie in einem Code, eine Funktion erzeugen mit dem zusammengebauten Quellcode:

inhalt.onblur = new Function("init(this, " + x + ");");

Wichtig ist, dass es ein Funktionsobjekt und kein direkter String ist! Sonst geht es nicht im IE.

inhalt.parentNode.innerHTML = inhalt.parentNode.innerHTML;

Was bezweckt diese Zeile?

Wie gesagt ist die proprietäre createElement-Syntax für den IE nötig, wenn du willst, dass das name-Attribut in innerHTML auftaucht.

Durch dieses Überschreiben von innerHTML geht das zuvor gesetzte name-Attribut verloren.

Mathias