Hallo EKKI!
Versuch doch mal, nicht alles in einer Anweisung zu schreiben und gib Dir dir erzeugten Objekte mal testweise aus - es sieht nämlich so aus, als ob irgendeins Deiner HTML-Elemente nicht existiert und Javascript deshalb kein entsprechendes Objekt erstellen kann
Also im Quelltext steht:
<form method="post" action="/index.php" enctype="application/x-www-form-urlencoded" name="formular_name" ><p>(...)</p>
<ul id="menu_id">
<li>(...)
Die Elemente sind also eindeutig vorhanden. Sogar fast direkt nacheinander. Nur ein <p></p> ist dazwischen.
(abgesehen davon, dass bei Deiner Konstruktion bei JEDEM Schleifendurchlauf der DOM-Baum durchsucht werden muss):
Könnte ich das irgendwie besser lösen? Also wie? ;)
var formular = 'formular_name';
var menu = 'menu_id';var frm = document.forms[formular];
alert(frm);
var mnu = frm.getElementById(menu);
alert(mnu);
var lis = mnu.getElementsByTagName('li');
alert(lis);
var len = lis.length;
alert(len);for (var i = 0; i < len; i++) {
/* tu etwas */
}
Genau dieser Code gibt mir einen Alert mit [object HTMLFormElement] zurück.
Mehr nicht. Es sieht also so aus, als ob er die <ul> mit der Id "menu\_id" nicht findet obwohl sie da ist :/
Danke für deine Hilfe!
Grüße, Matze