Markus: Problem mit innerhtml / Variable ansprechen

Hallo,

ich habe folgendes Problem mit diesem Javascript:

function sendRequest() {  
  
        if (document.getElementById('plz').value.length > 4) {  
  
        var req;  
        try {  
                req = window.XMLHttpRequest?new XMLHttpRequest():  
                new ActiveXObject("Microsoft.XMLHTTP");  
        } catch (e) {  
  
        }  
  
        req.onreadystatechange = function() {  
                if ((req.readyState == 4) && (req.status == 200)) {  
                        document.getElementById('inhalt1').innerHTML = req.responseText;  
                }  
        };  
    document.getElementById('inhalt1').innerHTML = 'Bitte warten';  
        var id = document.getElementById('plz').value;  
        req.open('post', 'search.php');  
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');  
        req.send('s='+ id);  
    document.getElementById("div2").style.display="none";  
    document.getElementById("div3").style.display="none";

In der Datei search.php steht folgendes:

$query = $_POST['s'];  
$result = mysql_query("SELECT id,ort FROM `mms_plz_d` WHERE `plz` = '{$query}'; ");  
$anz=mysql_num_rows($result);  
  
if ($anz == 0){?>&nbsp;Bitte geben Sie den Ort ein<?}?>  
  
  
<? if ($anz > 0){?>  
&nbsp;<select id="auswahl2" name="auswahl2" onChange="BekommeWert();">  
<? while($row = mysql_fetch_object($result)) {echo '<option value="'.$row->id.'">'.$row->ort.'</option>';}?>  
<option value="0">-Sonstiger Ort</option>  
</select> <? }?>  
  
<? mysql_free_result($result);?>

Ich möchte über das Ergebnis aus der DB-Abfrage "div2" der urspünglichen HTML-Seite auf "display:block" setzen, wenn selectedIndex=0 ist, also kein Ergebnis gefunden wird. Ich habe schon alles mögliche probiert, und stelle fest, dass ich immer noch ein Javascript-Anfänger.

Bin für jeden Tip und Hilfe dankbar.

Gruss

Markus

  1. Hi!

    Bin für jeden Tip und Hilfe dankbar.

    Short Tags sind eine wackelige Angelegenheit.

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Danke euch beiden erstmal. Das löst zwar nicht das eigentliche Problem, aber dennoch sind es interessante Anregungen zum restlichen Code.

      Gruss

      Markus

  2. Hallo Markus,

    das löst nicht Dein Problem, aber das hier ...

    $query = $_POST['s'];  
    $result = mysql_query("SELECT id,ort FROM `mms_plz_d` WHERE `plz` = '{$query}'; ");
    

    ... sieht etwas fahrlässig aus! Du solltest $query mit mysql_real_escape_string() behandeln.

    Alex