AJAX-(Anfänger)Problem
Dieter
- sonstiges
0 Dieter
Hallo,
ich stehe derzeit leider vor der Aufgabe innerhalb eines Formulars (HTML/mit PHP erzeugt) ein Eingabefeld (Ort) automatisch zu befüllen (nach PLZ-Eingabe durch den User).
Deswegen taste ich mich gerade an AJAX ran, leider nur mit sehr wenig Erfolg:
Im IE 7 läuft es (abundzu - ich weiß, kurios aber es ist so, wenns nicht läuft kommt "Der Vorgang konnte aufgrund des folgenden Fehlers nicht fortgesetzt werden: c00ce514" - absolut aussagekräftig).
Im FF kommt gar nichts, weder Fehler noch Ausgabe :-(.
Da ich trotz stundenlangem Suchen (auch gegooglet) nicht den Fehler finde, möchte ich um eure Hilfe bitten.
Hier mal den Code den ich verwende (bitte nicht schlagen :-):
JS/AJAX vor dem Form:
<script type="text/javascript">
//<![CDATA[
var ajax=false;
if (window.XMLHttpRequest)
{
ajax=new XMLHttpRequest;
}
else if (window.ActiveXObject)
{
ajax=new ActiveXObject('.$plzh.'Microsoft.XMLHTTP'.$plzh.');
}
function loadplz()
{
var plztxt=window.document.getElementById('.$plzh.'fplz'.$plzh.').value;
if(plztxt.length==5 && window.document.getElementById('.$plzh.'fland'.$plzh.').value == "D")
{
if(plztxt>00001 && plztxt<99999) {
ajax.open('.$plzh.'GET'.$plzh.', '.$plzh.'func_plz.php?plz='.$plzh.'+window.document.getElementById('.$plzh.'fplz'.$plzh.').value);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
window.document.getElementById('.$plzh.'fort'.$plzh.').value=ajax.responseText;
}
}
ajax.send(null);
}
}
}
//]]>
</script>
Formular (eingekürzt):
<form method="post" action="func_neukontakt.php">
<select name="fland" id="fland" style="width: 45px">
<option value="D">D</option>
<option value="NL">NL</option>
</select>
<input name="fplz" onkeyup="javascript:loadplz();" type="text" id="fplz" style="width: 50px" value="'.$fplz.'"/>
<input name="fort" type="text" style="width: 458px" id="fort" value="'.$fort.'"/>
</form>
und die func_plz.php:
$daplz = $_GET["plz"];
$plzabfrage = @mysql_query ("SELECT * FROM db_plz WHERE plz = '$daplz'");
$data = @mysql_fetch_row($plzabfrage);
echo $data['2'];
Ich hoffe das mir hier jemand helfen kann. Ich sitze an diesem Formular schon ein paar Tage (auch weil ich erst den kompletten openGeoDB-Dump auseinandernehmen musste :-() und zweifle langsam an mir selber.
Gruss
Dieter
Nachtrag (ich weiß nicht wie ich den Post noch editieren kann, sorry):
Die '.$plzh.' im JS-Code sind nur ein Platzhalter für ein "'", ich weiß - escapen...