Elharter: Probleme mit dynamischen Select Dropdown und dynam. Füllung !!

Hallo liebes Forum,

leider kämpfe ich seit Wochen mit einem PRoblem und komme nicht weiter.

Ich lasse mir ein DROPDOWN Feld (Select) dynamisch generieren, welches ich per DIV lade und fülle dieses dann ebenso dynamisch, je nachdem was im 1ten !! (statisch erstellten) Dropdown geklickt wurde.

Das ganze ist auf Automarken und Typen bezogen.

So klicke ich zB VW an und das 2te Dropdown soll mit allen VW Marken gefüllt werden...

Nun jetzt habe ich das soweit hinbekommen, das es im IE6.x funktioniert, im FF geht es leider überhaupt nicht.

Des weiteren funktioniert es , seit heute, aus unerfindlichen Gründen im IE6.x auch nicht mehr.

Hier meine Funktion:

<body onload="update_auswahl_marke_modell">

<script language="JavaScript" type="text/JavaScript">
<!--
function update_auswahl_marke_modell()
{
  document.getElementById('autotypen').innerHTML='<select name="autotype" width="150px" style="width:150px" class="pulldown"></select>';
  var markeAuswahl = document.forms.suche.automarke;
  var modellAuswahl = document.forms.suche.autotype;
  modellAuswahl.options.length = 0; // DropDown Menü entleeren

if (markeAuswahl.options[markeAuswahl.selectedIndex].value == "0")
  {  // JS if ANFANG
      //Modelle durchlaufen für die x. Marke
      modellAuswahl.options[0] = new Option("Typen...");

for (i=0; i < modellAuswahl.options.length; i++)
  {
    if (modellAuswahl.options[i].text == "Typen...")
    {
    modellAuswahl.selectedIndex = i;
    }
  }

} // JS if ENDE

<%
' Definiere SQL Statement:
 strSQL = "SELECT automarkeid,automarke FROM automarke ORDER BY automarke ASC"
 Set rs = Server.CreateObject("ADODB.Recordset")
 Set rs2 = Server.CreateObject("ADODB.Recordset")
 rs.open strSQL, strConnection
 do until (rs.eof)
 Response.Write("if (markeAuswahl.options[markeAuswahl.selectedIndex].value == """ & rs.fields("automarke") & """)" & vbcrlf)
  StrSql2 = "Select automarke_id, autotype FROM DAautotype Where automarke_id=" & rs("automarkeid") & " ORDER BY Autotype ASC"
  rs2.open StrSql2, strConnection
  if rs2.bof and rs2.eof then
   response.write (" { modellAuswahl.options[0] = new Option(""keine Type vorh."");")

else
  zahl = 1
  response.write (" {" & vbcrlf & " modellAuswahl.options[" & 0 & "] = new Option(""Typen..."");" & vbcrlf)
  do until (rs2.eof)
   response.write (" modellAuswahl.options[" & zahl & "] = new Option(""" & rs2("autotype") & """);" & vbcrlf)
   zahl = zahl + 1
  rs2.movenext
  loop
  end if
  rs2.close %>
   for (i=0; i < modellAuswahl.options.length; i++)
  {
    if (modellAuswahl.options[i].text == "")
    {
    modellAuswahl.selectedIndex = i;
    }
  }

} // JS if ENDE
  <%
 rs.movenext
 loop
 rs.close
 Set rs = Nothing
%>

} //function ENDE

//-->
</script>

an der Stelle an welcher das 1te Dropdown geladen wird, steht:

<select size="1" name="automarke" onChange="update_auswahl_marke_modell();" width="150px" style="width:150px" class=pulldown>
<option value="0" selected>Marken...</option>

<%
' Definiere SQL Statement:
 zahl = 1
 strSQL = "SELECT automarkeid, automarke FROM automarke ORDER BY automarke ASC"
 Set rs = Server.CreateObject("ADODB.Recordset")
 rs.open strSQL, strConnection
 do until (rs.eof)
 Response.Write("<option value=""" & rs("automarke") & """>" &  rs("automarke") & "</option>" & vbcrlf)
 zahl = zahl + 1
 rs.movenext
 loop
 rs.close
 Set rs = Nothing
%>
    </select>

dann lade ich das DIV:

<div id="autotypen" align="center"></div>

Und als Fehlermeldung erhalte ich im IE:
Zeile: 21
Zeichen: 3
Fehler: options ist NULL oder kein Objekt
Code: 0

und im FF:
modellAuswahl has no properties

Kann mir jemand helfen, ich verzweifle.... ;((((

danke

Mike

  1. Hell-O!

    leider kämpfe ich seit Wochen mit einem PRoblem und komme nicht weiter.
    [...]
    Kann mir jemand helfen, ich verzweifle.... ;((((

    Im Moment kann ich nicht erkennen, ob dein Problem clientseiteig (Javascript) oder serverseitig (ASP) ist. Poste also bitte mal den Code, wie er beim Client ankommt. Oder noch besser: Poste einen Link auf eine Testseite.

    Bis dahin empfehle ich die Lektüre des brandneuen Artikels Verkettete Auswahllisten mit Javascript.

    Siechfred

    --
    Ich bin strenggenommen auch nur interessierter Laie. (molily)
    Zitat des Tages || Falle Aufteilungsbescheid || RT 221 Erfurt-Altstadt i.V.