Hallo,
ich hab noch nicht ganz verstanden, wie ich dynamische Objekte aus einem Document bekommen bzw. abfrage kann, wenn ich diese zur Laufzeit dynamisch erstelle, also gar nicht im Document-Code stehen.
Beispiel
In dem oben gezeigten Code-Schnipsel, wird zur Laufzeit normale Eingabefelder in <fieldset name="fset"></fieldset>
eingefügt, durch appendChild.
Aber wenn ich jetzt durch alert(document.getElementsByName("fset").length) die Länge, sprich Anzahl aller erzeugten Elemente, ausgeben möchte, wird immer nur 0 ausgegeben. So als würden die Elemente zwar erzeugt, aber nicht wirklich in das document->fieldset eingefügt!
Kann mich mal jemand darüber aufklären, wieso es sich so verhält?
Vielen Dank im Voraus!
Gruß
ich hab noch nicht ganz verstanden, wie ich dynamische Objekte aus einem Document bekommen bzw. abfrage kann, wenn ich diese zur Laufzeit dynamisch erstelle, also gar nicht im Document-Code stehen.
Beispiel
HTML:
...
<form>
<fieldset id="fset">
</fieldset>
<input type="button" value="Feld erzeugen" onclick="insertInputField('foo','fset')">
</form>
Javascript:
...
<script type="text/javascript">
function insertInputField(pname,pform) {
var inputField = document.createElement("input");
inputField.setAttribute("type","text");
inputField.setAttribute("name",pname);
alert(document.getElementsByName("fset").length);
var br = document.createElement("br");
document.getElementById(pform).appendChild(br);
document.getElementById(pform).appendChild(inputField);
}
</script>
...
eingefügt, durch appendChild.
Aber wenn ich jetzt durch alert(document.getElementsByName("fset").length) die Länge, sprich Anzahl aller erzeugten Elemente, ausgeben möchte, wird immer nur 0 ausgegeben. So als würden die Elemente zwar erzeugt, aber nicht wirklich in das document->fieldset eingefügt!
Kann mich mal jemand darüber aufklären, wieso es sich so verhält?
Vielen Dank im Voraus!
Gruß
Zuletzt bearbeitet: