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)
------------------------
<script type="text/javascript">
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.getElementsByTagName('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.getElementsByTagName('inhalt[3][1]'));
}
</script>
<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öschen)</div></td>
</tr>
</table>
</form>
<input type="button" value=" Neue Position " onClick="neu()">
</body></html>