Problem mit innerhtml / Variable ansprechen
Markus
- javascript
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){?> Bitte geben Sie den Ort ein<?}?>
<? if ($anz > 0){?>
<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
Hi!
Bin für jeden Tip und Hilfe dankbar.
Short Tags sind eine wackelige Angelegenheit.
off:PP
Danke euch beiden erstmal. Das löst zwar nicht das eigentliche Problem, aber dennoch sind es interessante Anregungen zum restlichen Code.
Gruss
Markus
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