Tom: Ich bitte um Verbesserungsvorschläge

Beitrag lesen

Hello Axel, hello Eddi & helle All,

http://www.javamagazin.de/itr/online_artikel/psecom,id,347,nodeid,11.html

hat mich auf die passende Idee gebracht, wie es im IE zum laufen gebracht werden kann. Das ist natürlich immer noch eine Baustelle.

Hier mal der z.Zt. "lauffähige" TestCode mit der Bitte, mir bei der Verbesserung /Optimierung zu helfen.

<html>
<head>
  <title>MultiUpload</title>

<script type="text/javascript">
<!--
var filecount = 0;

function showImage(imgNr)
{
  document.getElementById('img1').src='file://' + document.getElementById('fileId'+imgNr).value;

}

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

// var tbody = document.createElement("tbody");

var tr  = document.createElement("tr");
  var td   = document.createElement("td");
  var inp  = document.createElement("<input type='file' onchange='showImage("+ filecount+ ");'>");
  inp.size = 60;
  inp.maxlength = 80;
  inp.type = 'file';
  inp.name = 'file[]'
  inp.id   = 'fileId' + filecount;
  //inp.onchange = 'showImage(filecount);';  // das geht nicht

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

//tbody.appendChild(tr);
  //fx.appendChild(tbody);
  fx.appendChild(tr);

filecount++;
  alert(inp.onchange);
}

//-->
</script>

</head>

<body onLoad="insert_file_input('tb1');">

<img id="img1" scr="" height ="140">

<form name="form2" id="f2"
      action="http://testserver.lan.fli4l/~thomas/test/debug/kontrolle.php"
      method="post"
      enctype="multipart/form-data"
      onChange="document.getElementById('btn01').visible = true;">

<table id="t1">
    <thead></thead>
    <tbody id='tb1'></tbody>
    <tfoot></tfoot>
  </table>
  <input type="button" name"btn[newInput]"
         value="weiteren File hinzuf&uuml;gen"
         onClick="insert_file_input('tb1')"
         id="btn01">

<input type="submit" name"btn[upload]" value="&uuml;bertragen">
  <input type="button" value="Vorschau" onclick="showImage(0);">

</form>

</body>

</html>

Ich hoffe, ich habe jetzt nicht was rausgelöscht, was man brauchte...

Zur Kontrolle habe ich nun noch das Alert() dringelassen. Wieso wird die Funktion immer als "function anonymous()" bezeichnet?

In welchen üblichen Browsern (mit Bildanzige) funktioniert das hier garantiert nicht? Könntet Ihr das bitte mal testen?

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau