Flo: Firefox Formular lässt sich nicht abschicken

hallo.

folgender sachverhalt:
ein formular mit den elementen type="file" und einem submit button wird über ein javascript mittels onchange event (für type="file") systematisch durch zusätzliche <input type="file"> erweitert.

das problem:
nach dem das formular um das 4. oder 5. type="file" erweitert wurde lässt sich im firefox das formular im anschlusss nicht mehr absenden.

code-auszug:

<script language="javascript">
var i=1;
function fileUpload(){
  i++;
  var formu = document.getElementById("sasi");
  var Table = document.getElementById("flTable");
  var ul = document.createElement("input");
  ul.setAttribute("type","file");
  ul.setAttribute("name","file_"+i);
  ul.setAttribute("value",i);
  ul.setAttribute("size",15);
  ul.setAttribute("id","file_"+i);
  ul.onchange=function mh(){ fileUpload(); };
  var tn = document.createTextNode(i+". Bild:");

formu.appendChild(ul);
}
</script>

<form enctype="multipart/form-data" method="post" action="muh.php" id="sasi">

<input type="file" name="muh" onchange="fileUpload();">

<input type="submit">

Im IE6 funzts einwandfrei (oh wunder) auch mit mehreren elementen nur der FF zickt herum.

bitte um hilfe+danke im voraus

  1. Grütze .. äh ... Grüße!

    <script language="javascript">

    alt: language-attribut entsorgen und type-attribut benutzen.

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

    verwirrend: Variablennamen, die wie HTML-Tags heißen

    ul.setAttribute("type","file");
      ul.setAttribute("name","file_"+i);
      ul.setAttribute("value",i);
      ul.setAttribute("size",15);
      ul.setAttribute("id","file_"+i);

    kritisch: setAttribute ist nicht zuverlässig. Werte direkt setzen, wie du es schon bei onchange getan hast, z.B.

    ul.id = "file_"+i;

    ul.onchange=function mh(){ fileUpload(); };

    Hier dürfte dein Problem liegen. Schon mal mit
    ul.onchange = fileUpload;
    versucht? (habe ich jetzt allerdings nicht getestet, kann also falsch sein)


    Kai

    --
    Der vertuschte Gefahrstoff: Dihydrogenmonoxid
    ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|
    1. Grütze .. äh ... Grüße!

      <script language="javascript">

      hi.

      danke für deine hinweise.
      leider löst keiner davon das problem.
      ist sicherlich nur wieder so ein kleiner fehler und ich finde ihn nicht.

      hat noch jemand eine idee?

      1. hat noch jemand eine idee?

        * JS-Fehlerconsole öffnen
        * Web Developer Toolbar installieren und das generierte Formular ansehen, ggf. den generierten Quelltext ansehen.

        Kleine Frage am Rande: Wieso legst Du bei onChange des File-Feldes ein neues Feld an? Was ist, wenn ich versehentlich die falsche Datei ausgewählt habe und dafür eine andere Datei auswählen möchte? Dann entsteht ein neues Eingabefeld. Das halte ich nicht für sonderlich benutzerfreundlich.

        Alexander