<input> dynamisch erzeugen
Funky Flix
- javascript
Hallo,
mit folgendem code erzeuge ich dynamsich input boxen:
----------------------------------
<script type="text/JavaScript">
ip_nr=2;
function new_ip(){
ip_nr++;
document.getElementById('dynamic_input').innerHTML += "<input type='text' name='ip_"+ip_nr+"' value='"+document.getElementById("ip_"+(ip_nr-2)).value+"'><br>";
return 0;
}
</script>
</head>
<body>
<form action='' method='POST'>
<div id='dynamic_input'>
<input type='text' name='ip_1' id='ip_1'><br>
</div>
<button type='button' onClick="new_ip();">neues Input-Feld</button>
</body>
--------------------
Folgendes Problem tritt auf:
wenn ich value='"+document.getElementById("ip_"+(ip_nr-2)).value+"' nicht in den Code aufnehme, wird bei jeder Neugenerierung eines input Feldes der Inhalt der bisherigen gelöscht. Wenn ich es wie oben in den Quellcode aufnehme, kann ich nur einmal eine weiteres Input Feld erzeugen.
Ich würde natürlich gerne beliebig viele input Felder dynamisch erzeugen und die bereits eingetragenen Werte behalten. Daher meine Frage: Was ist an dem Befehl value='"+document.getElementById("ip_"+(ip_nr-2)).value+"' falsch.
Besten Dank für Antwort
Felix
Hallo,
document.createElement() sollte helfen ...
MfG. Christoph Ludwig