JesusFreak777
Erfahrenes Mitglied
Hi ihr,
ich hab hier ein kleines einfaches script:
hier meine Javascript Funktion (nix neues... einfach aus dem Internetz kopiert)
jetzt zu meinem Problem...
wenn ich eine suche eingebe: z.B. Hallo, dann sucht er "H", sobald ich da "a" eingetippt habe "Ha"...
oft ist es so, das der Request länger dauert als das tippen und bis ich "Hallo" eingetippt habe gibt er mir das Ergebnis von "H" zurück.
Mein Request ist eine SQLi Tabelle mit ca. 6000 Datensätzen (aktuell).
wie kann ich da einen Unterbrecher einbauen das er einfach den letzten Request sucht und alles vorher vergisst -> sollte er aber es schaffen zwischendurch was zu finden (weil System schnell genug) darf ers auch ausgeben.
Vielen Dank für jeden Tipp
Gruß baer
ich hab hier ein kleines einfaches script:
HTML:
<input type='text' onkeyup=' kundensuche(this.value) ' />
hier meine Javascript Funktion (nix neues... einfach aus dem Internetz kopiert)
Code:
function kundensuche(suche) {
var xmlHttp = null;
// Mozilla, Opera, Safari sowie Internet Explorer 7
if (typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
if (!xmlHttp) {
// Internet Explorer 6 und älter
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
xmlHttp = null;
}
}
}
// Wenn das Objekt erfolgreich erzeugt wurde
if (xmlHttp) {
var url = "search_kunde.php";
var params = "suche="+suche;
xmlHttp.open("POST", url, true);
//Headerinformationen für den POST Request
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
// Zurückgeliefertes Ergebnis wird in den DIV "ergebnis" geschrieben
document.getElementById("ergebnis").innerHTML = xmlHttp.responseText;
}
};
xmlHttp.send(params);
}
}
jetzt zu meinem Problem...
wenn ich eine suche eingebe: z.B. Hallo, dann sucht er "H", sobald ich da "a" eingetippt habe "Ha"...
oft ist es so, das der Request länger dauert als das tippen und bis ich "Hallo" eingetippt habe gibt er mir das Ergebnis von "H" zurück.
Mein Request ist eine SQLi Tabelle mit ca. 6000 Datensätzen (aktuell).
wie kann ich da einen Unterbrecher einbauen das er einfach den letzten Request sucht und alles vorher vergisst -> sollte er aber es schaffen zwischendurch was zu finden (weil System schnell genug) darf ers auch ausgeben.
Vielen Dank für jeden Tipp
Gruß baer