5. Juli 200619 j Hallo zusammen, ich spiele gerade ein bissel mit DOM - komme aber leider nicht weiter. Wäre nett wenn mir einer von euch weiterhelfen könnte. Folgendes Problem: <html><head> </head> <body> <form> <select name="Anzahl"id="anzahl" > <option value="">Anzahl wählen!</option> <option value="eins">Eins</option> <option value="zwei">Zwei</option> </select> </form> <a href="" onClick="hinzufuegen()">Klick mich</a> <SCRIPT type="text/javascript"> function hinzufuegen(){ var knoten; var kind; knoten=document.getElementById("anzahl"); kind=document.createElement("option"); knoten.appendChild(kind); kind=document.createTextNode("Drei"); knoten.appendChild(kind); } </SCRIPT> </body> </html> Erstmal 2 Fragen: - Warum fügt er mir die 3 nicht in meine Liste ein? - Wenn ich statt knoten=document.getElementById("anzahl"); das ganze versuche per name zu bekommen, also knoten=document.getElementsByName("Anzahl") bekomme ich ein undefined zurück, warum? Danke schonmal für die Hilfe! Gruß, DS
5. Juli 200619 j moin DarkSchlumpf, Als erstes würde ich dem Forumlar einen Namen verpassen. Das sollte den Zugriff auf Formularelemente etwas vereinfachen. <form name='auswahl'>...</form> Nun nochmal kurz zum theoretischen Aufbau ... <document> <form> <option /> </form> </document> Dein Select-Element ist also dem Formular und nicht dem Document zugeordnet. Deshalb wahrscheinlich auch das undifined. Demnach solltest du mit document.[Formularname].Anzahl auf das eigentliche Element zugreifen können.
5. Juli 200619 j - Warum fügt er mir die 3 nicht in meine Liste ein? Ich hab die Erfahrung gemacht, dass du dein Objekt erst komplett aufbauen musst, und es dann erst als Child anhängen. Ausserdem müssen die Element Angaben in Großbuchstaben sein AFAIK: var knoten; var kind; knoten=document.getElementById("anzahl"); kind=document.createElement("OPTION"); kind.appendChild(document.createTextNode("Drei")); knoten.appendChild(kind);
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.