Axel Richter: Ich bitte um Verbesserungsvorschläge

Beitrag lesen

Hello,

//inp.onchange = 'showImage(filecount);';  // das geht nicht
Doch, das geht, außer im IE.

inp.onchange = function() {showImage(filecount);};
Das geht überall.

Leider ist das nicht zielführend, da ich ja bei jedem Einfügen ein anderes Element.value auslesen muss und dafür nur eine Funktion habe.

darum habe ich die Funktion so überwändlich aufgebaut...

Ja, eben ;-))

var filecount = 0;

function insert_file_input(tbody_id)
{
  var fx = document.getElementById(tbody_id);

var tr  = document.createElement("tr");
  var td   = document.createElement("td");

var inp  = document.createElement("input");

inp.size = 60;
  inp.maxlength = 80;
  inp.type = 'file';
  inp.name = 'file[]'
  inp.id   = 'fileId' + filecount;

inp.onchange = function() {showImage(this.id);};

td.appendChild(inp);
  tr.appendChild(td);
  fx.appendChild(tr);

filecount++;
}

function showImage(imgNr)
{
  alert(document.getElementById(imgNr).value);
}

viele Grüße

Axel