Hallo zusammen,
ich befasse mich seit kurzem mit AJAX und es funktioniert alles, nur mit dem IE nicht. Dieser scheint immer das Anfangs tag wegzulassen.
Es geht um ein DropDown-Menu das seine Einträge aus einer DB bekommt.
Hier mal der Quelltext:
HTML:~~~html
<select name="listenid" id="listenid" onfocus="showliste()"></select>
Javascript:~~~javascript
function showliste(){
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null){
alert ("Browser does not support HTTP Request");
return;
}
var url="liste.php";
url=url+"?sid="+Math.random();
xmlhttp.onreadystatechange=function (){
if (xmlhttp.readyState==4){
if (xmlhttp.status==200)
stateChanged(xmlhttp, "listenid");
}
};
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged(req, name){
document.getElementById(name).innerHTML=req.responseText;
}
function GetXmlHttpObject(){
/*@cc_on @*//*@if (@_jscript_version >= 5)
try {
return new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) {}
try {
return new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) {}
@end @*/
try {
return new XMLHttpRequest();}
catch (e) {}
return null;
}
PHP:~~~php
echo '<option value="0">Bitte Listenihalt auswählen</option>';
while($liste = mysql_fetch_assoc($result))
{
//Listeneinträge anlegen
echo '<option value="'.$liste["id"].'">'.$liste["name"].'</option>';
}
Soll-Ergebnis und Ist bei Firefox und Safari:
HTML:~~~html
<select name="listenid" id="listenid" onfocus="showliste()">
<option value="0">Bitte Listenihalt auswählen</option>
<option value="1">name1</option>
<option value="2">name2</option>
<option value="3">name3</option>
</select>
Ist bei IE
HTML:~~~html
<select name="listenid" id="listenid" onfocus="showliste()">
Bitte Listenihalt auswählen</option>
<option value="1">name1</option>
<option value="2">name2</option>
<option value="3">name3</option>
</select>
Kann mir jemand erklären warum das erste <option value="0"> fehlt?
Gruß Sascha
--
\---
Ein Fachmann ist jemand, der immer mehr über immer weniger weiß, bis er zuletzt alles über nichts weiß.