Rüdiger: NEWBIE-Frage: Dynamisch <input> Felder erzeugen

Hi Leute,

ich möchte nach Auswahl eine bestimmt Anzahl von Input-Feldern erzeugen. Die sollen dann auch auf der gleichen Seite untendrunter erscheinen.

LEider geht das mit diesem Code nicht:

<td>
<select name="anzahl" size="1" onChange="send(this.form.anzahl.value)">
     <option value="1">1
     <option value="2">2
     <option value="3">3
     <option value="4">4
</select>
</td>
<td>
<script type="text/javascript">

function send(anzahl)
{
   var z;
   do
   {
     document.write ("<input type="File" name="bild[z]">")
     z = z + 1;
   }
   while (z <= anzahl);
}
</scipt>

Kann jemdand helfen? Danke

  1. Hallo,

    schon mal nach der Auswahl _neben_ das select-Feld geklickt? Was sagen denn die Fehlermeldungen, Debug-Ausgaben?

    Gruß, Andreas

    --
    SELFFORUM - hier werden Sie geholfen,
    auch in Fragen zu richtiges Deutsch
    1. OK, jetzt kriege ich es hin!
      Leider werden die Input-Felder auf eine neue Seite geschrieben. Kann ich das nicht auch einfach unter die Tabelle schreiben lassen?

      <select name="anzahl" size="1" onChange="send(this.form.anzahl.value)">
            <option value="1">1
            <option value="2">2
            <option value="3">3
            <option value="4">4
      </select>
      </td>
      <td>
      <script type="text/javascript">

      function send(anzahl)
        {
          var z;
          do
          {
            document.write ("<input type="File" name="bild[z]">")
            z = z + 1;
          }
          while (z <= anzahl);
        }
      </script>

      1. Leider werden die Input-Felder auf eine neue Seite geschrieben. Kann ich das nicht auch einfach unter die Tabelle schreiben lassen?

        nicht mit document.write, weil das Dokument schon fertig ist. write muß ein neues Dokument anlegen.

        Sieh dich in SELFHTML mal nach dem node-Objekt um und dort nach createElement(), appendChild() etc. Alternativ kannst Du mit .innerHTML Deine Methode in etwa übernehmen, brauchst aber noch ein Element, wo Du innerHTML reinschreibst. Wenn was unklar ist, frag noch mal.

        Gruß, Andreas

        --
        SELFFORUM - hier werden Sie geholfen,
        auch in Fragen zu richtiges Deutsch