Hallo!
Ich habe hier ein Script, das ein Array nach Begriffen durchsucht in denen der im Suchfenster eingegebene String enthalten ist. Diese sollen dann als Auswahloptionen angezeigt werden.
Ich muß noch zugeben, dass ich das script nicht selbst geschrieben hab, denn so ganz von allein komm ich auf sowas noch nicht Allerdings bin ich nicht völlig unwissend in JS und versteh schon, was dort passiert.
naja, jedenfalls Funktioniert das script so wie es soll - allerdings nur im IE nicht im Firefox. Werden da irgendwelche spezifischen microsoft -JSMethoden verwendet? Oder was ist sonst der Grund? Danke schonmal für eure Hilfe!
Code des Formulars
JS code:
Ich habe hier ein Script, das ein Array nach Begriffen durchsucht in denen der im Suchfenster eingegebene String enthalten ist. Diese sollen dann als Auswahloptionen angezeigt werden.
Ich muß noch zugeben, dass ich das script nicht selbst geschrieben hab, denn so ganz von allein komm ich auf sowas noch nicht Allerdings bin ich nicht völlig unwissend in JS und versteh schon, was dort passiert.
naja, jedenfalls Funktioniert das script so wie es soll - allerdings nur im IE nicht im Firefox. Werden da irgendwelche spezifischen microsoft -JSMethoden verwendet? Oder was ist sonst der Grund? Danke schonmal für eure Hilfe!
Code des Formulars
HTML:
<form name="suche" onSubmit="return Durchsuchen(this.string.value);">
<input name="string" id="eingabe" type="text" size=40 value="Bitte Suchbegriff eingeben" onKeyUp="startAutoComplete(this);" onChange="n=0;" onfocus="if(this.value==this.value)this.value=''">
<br>
<select size="1" style="width:400px" name="matches" id="matches" onchange="document.search.string.value=this.value">
<option selected="selected" >---Auswahlmöglichkeiten---</option>
</select>
<input type="submit" value="SUCHEN">
</form>
JS code:
PHP:
function startAutoComplete(textfeld)
{
if(!self.event || String.fromCharCode(event.keyCode).search(/[\w\-0-9\.,]/) == -1){
return;
}
tempname = textfeld.value.toLowerCase();
var results = new Array();
for(i=0; i<begriffe.length; i++){
if(begriffe[i].toLowerCase().search(new RegExp(tempname)) != -1)
{
results.push(begriffe[i]);
}
}
addResults(results);
deleteResults();
}
function deleteResults()
{
var y = document.search.matches.length;
for(var x=0; x<y; x++){
document.search.matches.options[1] = null;
}
}
function addResults(res){
for(var x=0; x<res.length; x++){
result = new Option(res[x],res[x],false,false);
document.search.matches.options[document.search.matches.options.length] = result;
}
}