habe ein input-feld wo man einen namen eingeben kann. für jeden eingegeben buchstaben wird eine abfrage gestartet.
Code: Alles auswählen
Name:<input name="name" type="text" size="30" maxlength="25" onkeyup="macheRequest();" />
Code: Alles auswählen
var http_request = false;
function macheRequest() {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
// zu dieser Zeile siehe weiter unten
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
return false;
}
if(document.f1.name.value !="")
{
http_request.open('get', 'suggest.php?name=' + escape(document.f1.name.value.toLowerCase()), true);
http_request.onreadystatechange = handleResponse;
http_request.send(null);
}
else
{
document.getElementById("antwort").style.visibility = "hidden";
}
}
function handleResponse()
{
document.getElementById("antwort").style.visibility = "visible";
if(http_request.readyState == 4)
{
document.getElementById("antwort").innerHTML = http_request.responseText;
}
}
/*
*/
//zum test
function uebernehme()
{
document.f1.name.value = document.f1.vorschlag.value;
}
Code: Alles auswählen
if(document.f1.name.value !="")
nur: wenn man mind. einen suchtreffer hat, so wird da ergebnissfeld "visible". tippt man jetzt einen buchstaben ein, der zu keinem treffer führt, so ist die ergbnissliste leer. diese sollte aber nun besser "invisible" sein.
der aufruf der php-abfrage geschieht ja mittels:
Code: Alles auswählen
http_request.open('get', 'suggest.php?name=' + escape(document.f1.name.value.toLowerCase()), true);
wie könnte ich das realisieren?
¢¦