uli: Formularfelder dynamisch hinzufügen

Hallo zusammen,

ich möchte zu einem Html Formular mit Hilfe von Javascript dynamisch Felder hinzufügen. Der folgende Code geht auch problemlos beim Internet Explorer unter Windows, nur der Netscape und der Internet Explorer unter MAC machen rein gar nix. Wäre klasse, wenn mir jemand dazu einen Tip geben könnte.
Danke schon mal!
Gruß Uli

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

<body>
<script language="JavaScript">
  function hinzufuegen(){
  var formular = document.forms[0];
  var neueEingabe = document.createElement("input");
  neueEingabe.type = "file";
  neueEingabe.name = "filedata";
  neueEingabe.value = "neu";
  formular.appendChild(neueEingabe);
}</script>

<form>
  <input type="file" name="filedata">
  <input type="button" value="+" onClick=javaScript:hinzufuegen()>
</form>

</body>
</html>

  1. Hallo alleine,

    Netscape benutzt andere DOModelle, die so zum Beispiel aussehen:
     - document.getElementByID(filedata).blablabla = "neuerWert"; -

    ausserdem ist die Identifizierung per name="xxx" veraltet, neu ist id="xxx".

    Du kommst nicht umhin, mit einer Variablen beide DOModelle (IE / NS-OPERA) zu übergeben:

    function weissichnix() {
       var x;
       if (document.all) {
          x = document.createElement(input);  //für IE
       } else {
          x = document.getElementByID(input).blablabla ;  //für NS
       }
       return x;
    }

    Nicht vergessen:
    Eine Funktion immer mit [return Variable;] abschliessen!

    Gruss KLAUS

    1. Hi,

      var x;
         if (document.all) {
            x = document.createElement(input);  //für IE
         } else {
            x = document.getElementByID(input).blablabla ;  //für NS
         }

      nun ja. Ich schlage folgendes vor:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
              "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
      <html>
      <head>

      <title>Input dynamisch</title>

      <meta name="Author" content="JW">

      <script language="javascript1.2" type="text/javascript">
      var inpNam =  "inp";
      var cnt    =  0;
      function goForIt() {
       cnt ++;
       var inp =  document.createElement("input");
           inp.style.width =  "100px";
           inp.setAttribute("type","text");
           inp.setAttribute("name",inpNam + cnt);

      br =  document.createElement("br");
           document.getElementById("dynform").appendChild(inp);
           document.getElementById("dynform").appendChild(br);
      }
      </script>

      </head>
      <body>
      <form Name="feld" id="dynform">
          <input type="button" value="goForIt" onclick="goForIt()">
       <br><br>
      </form>

      </body>
      </html>

      Eine Funktion immer mit [return Variable;] abschliessen!

      nein. Nur wenn ein returnwert benoetigt wird.

      Gruesse  Joachim