Announcement

Collapse
No announcement yet.

Javascript - Dynamische Felder

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Javascript - Dynamische Felder

    Hallo,

    ich möchte in ein vorhandenes Formular neue Input-Felder hinzufügen. Das klappt auch gut. Nun möchte ich die Felder vor dem Abschicken prüfen. Hier kommt nun immer eine Fehlermeldung, dass die erzeugten Input-Felder nicht existieren - in der Ansicht existieren sie aber. Was ist falsch?

    Ich habe den Code mal hier reingezogen: (bitte um entschuldigung für die schlechte formatierung)

    ------------------------

    function neu()
    {
    NewRow = document.getElementById('tab').lastChild.cloneNode (true);
    document.getElementById('tab').appendChild (NewRow);

    var i = document.getElementById('tab').childNodes.length - 1;

    for(j=0;j<document.getElementById('tab').lastChild .getElementsByTagName('input').length;j++)
    {
    var newname ='inhalt[' +i+ '][' +j+ ']';

    document.getElementById('tab').lastChild.getElemen tsByTagName('input')[j].setAttribute('name', newname) ;
    }

    }

    function check()
    {
    // ****** HIER ****** //
    // Ich möchte erst mal, dass ich den Inhalt eines erzeugten Feldes angezeigt bekomme, das geht schon mal nicht
    // Mit firstChild und lastChild geht es manchmal, wie erreiche ich die dazwischen?
    alert(document.getElementById('tab').lastChild.get ElementsByTagName('inhalt[3][1]'));
    }

    </script>
    <&lt;
    <form action="test.php" method="post" name="form" id="form" onsubmit="return check();">

    <table width="447" border="0" cellspacing="0" cellpadding="0" id='tab'>
    <tr>
    <td width="61"><input name="inhalt[0][1]" type="text" size="7"></td>
    <td width="126"><input name="inhalt[0][2]" type="text" size="20"></td>
    <td width="62"><input name="inhalt[0][3]" type="text" size="7"></td>
    <td width="64"><input name="inhalt[0][4]" type="text"size="7"></td>
    <td width="75"><input name="inhalt[0][5]" type="text" size="7"></td>
    <td width="59"><div align="left">(l&ouml;schen)</div></td>
    </tr>
    </table>
    </form>
    <input type="button" value=" Neue Position " onClick="neu()">"
    &gt;>
Working...
X