Input-Felder dynamisch erzeugen - Problem mit der Anordnung

tofa

Mitglied
Ich möchte in einem Formular dynamisch Input-Felder per Javascript generieren - das funktioniert an für sich auch problemlos.

Ich verwende folgende Funktion dazu:

Code:
function insertInputField(pname,pform) {
 var inputField =  document.createElement("input");
      inputField.setAttribute("type","text");
      inputField.setAttribute("name",pname);
 var br  =  document.createElement("br");
 document.getElementById("pform").appendChild(inputField);
 document.getElementById("pform").appendChild(br);
}

Leider fügt die Funktion das neu erzeugte Input-Feld am Ende des durch pform übergebenen Formulars ein. So dass zum Beispiel die Buttons zum Absenden oder Zurücksetzen des Formulars oberhalb der dynamisch erzeugten Felder stehen. Als Lösungsansatz habe ich ein fieldset oberhalb der Buttons angelegt und dessen id als pform übergeben. Demnach hätten die neuen Felder eigentlich dort eingefügt werden sollen. Das funktioniert aber auch nicht, die Felder werden weiterhin ans Ende des gesamten Formular gesetzt.
Wie müsste ich vorgehen um das Problem zu lösen?

Vielen Dank im voraus!
 
tofa hat gesagt.:
document.getElementById("pform")

Da du pform dort in Anführungzeichen gesetzt hast, beziehst du dich dort nicht auf die der Funktion übergebene Variable.
So gehts besser :)
Code:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
function insertInputField(pname,pform) {
 var inputField =  document.createElement("input");
      inputField.setAttribute("type","text");
      inputField.setAttribute("name",pname);
 var br  =  document.createElement("br");
 document.getElementById(pform).appendChild(inputField);
 document.getElementById(pform).appendChild(br);
}
//-->
</script>
</head>
<body>
<form>
<fieldset id="fset">
</fieldset>
<input type="button" value="Feld erzeugen" onclick="insertInputField('foo','fset')">
</form>
</body>
</html>
 
Hallo Sven und Gumbo,

vielen Dank für euere Antworten. Sven hat den Fehler gefunden... da hätte ich noch lange suchen können und mich wundern, warum es nicht funktiuoniert.

Viele Grüße
tofa
 
Zurück