Ich hatte dir ja schon ein funktionierendes Beispiel gezeigt.
Das habe ich auch schon probiert - leider ohne Änderung. Auch bei einer onLoad-Initialisierung wird die Länge falsch ausgegeben. Hier nochmal der Code mit dem onLoad-Konstrukt:
<script language="JavaScript" type="text/javascript" >
function doOnLoad()
{
// Array mit Originalinhalt der Selectbox wird erstellt
save_value = new Array();
save_value = document.searchform.users;
}
Bei mir sieht die Funktion so aus:
function getDefaultList()
{
var d = document;
for(var y = 0; y < d.forms.length; y++)
{
for(var x = 0; x < d.forms[y].elements.length; x++)
{
if(d.forms[y].elements[x].type.indexOf('select') == -1) continue;
var list = d.forms[y].elements[x];
list.defaultList = new Array();
var l = list.length - 1;
for(var i = l; i >= 0; i--) list.defaultList[i] = list[i];
list.selecter = selecter;
list.onkeydown = selecter;
list.wert = '';
}
}
}
desweiteren, musst du dir jeweils merken welche Buchstaben eingetippt wurden und bei jedem neuen Buchstaben erst die aktuelle Liste löschen und aus der defaultList die Einträge holen die mit dem Tastendruck übereinstimmen.
Struppi.