Hallo zusammen,
folgende Funktion funktioniert nicht und ich weiss nicht woran es liegt. Fehlermeldung im IE ist der Klassiker "Objekt erwartet". Es handelt sich insgesamt um ein Formular mit 2 Select-Menüs. Wird an dem einen ("titel1_font") der Defaultwert geändert, soll das andere ("titel2_font") entsprechend angepasst werden. Hierzu rufe ich die Funktion im ersten Select-Menü mit dem Eventhandler "onChange" auf. Hier also der Quellcode der Funktion:
function erzeugeSelect() {
var fonts[] = new Array(6);
<%
int laenge0 = Fontgruppen[0].length;
int laenge1 = Fontgruppen[1].length;
int laenge2 = Fontgruppen[2].length;
int laenge3 = Fontgruppen[3].length;
int laenge4 = Fontgruppen[4].length;
int laenge5 = Fontgruppen[5].length;
out.print("fonts[0]= new Array(" + laenge0 + ");");
out.print("fonts[1]= new Array(" + laenge1 + ");");
out.print("fonts[2]= new Array(" + laenge2 + ");");
out.print("fonts[3]= new Array(" + laenge3 + ");");
out.print("fonts[4]= new Array(" + laenge4 + ");");
out.print("fonts[5]= new Array(" + laenge5 + ");");
for (int i=0; i<6; i++) {
for (int j=0; j<Fontgruppen[i].length; j++) {
out.print("fonts[" + i + "][" + j + "]= "" + Fontgruppen[i][j] + "";");
}
}
%>
var gruppenNr = 0;
for (var i=0; i<fonts.length; i++) {
for(var j=0; j<fonts[i].length; j++) {
if (fonts[i][j]== document.Fontauswahl.titel1_font.value) {
gruppenNr=i;
}
else {
}
}
}
var counter1 = 0;
for (var i=0; i<fonts[gruppenNr].length; i++) {
NeuerEintrag = new Option(fonts[gruppenNr][i], fonts[gruppenNr][i]);
document.Fontauswahl.titel2_font.options[i] = NeuerEintrag;
counter1++;
}
for (var i=counter1+1; i<document.Fontauswahl.titel2_font.length; i++) {
document.Fontauswahl.titel2_font.options[i] = null;
}
}
Ich hoffe es handelt sich nicht um einen billigen Anfängerfehler, weil ich den Code schon mindestens 1000 mal durchgegangen bin.
Danke für eure Antworten schonmal vorab,
Gruß,
Matthias
P.S.: Ich denke nicht, dass es an dem JSP Teil liegt. Man kann den doch so einbinden, damit er von Javascript interpretiert wird, oder?