Hallo,
ich wange mich so langsam an ajax dran.
Nun hänge ich aber an einer stelle fest.
Ich habe ein Ajax-Script welches mir eine PHP-Datei mit GET aufruft.
Ich möchte nun aber das ich auch noch einfach die Ausgabepunkte wechselt.
HTML (test1.php)
Ajax
PHP Datei (test.php)
Wenn ich nun bei:
einfach das in:
ändere dann geht nix mehr.
Warum?
Wie muss man das um schreiben das man das auch über das Select-Element bestimmen kann in welches div das ausgeben werden kann?
ich wange mich so langsam an ajax dran.
Nun hänge ich aber an einer stelle fest.
Ich habe ein Ajax-Script welches mir eine PHP-Datei mit GET aufruft.
Ich möchte nun aber das ich auch noch einfach die Ausgabepunkte wechselt.
HTML (test1.php)
HTML:
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN'
'http://www.w3.org/TR/html4/strict.dtd'>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title>Test</title>
<script type="text/javascript" lang="javascript" src="./js/ajax.js"></script>
<style type="text/css">
#ajax{
background: #555;
}
#ajaxAusgabe{
background: #ddd;
}
*{
outline: 0;
}
</style>
</head>
<body>
<div id='ajax'></div>
<p>Bitte wählen Sie eine Stadt:</p>
<form action=''>
<select onChange='return ajaxAnzeige("test.php?wert=" + this.value, this.element)'>
<option element="ajaxAusgabe" value='Berlin'>Berlin</option>
<option element="ajax" value='Hamburg'>Hamburg</option>
<option element="ajaxAusgabe" value='Frankfurt'>Frankfurt</option>
</select>
</form>
<div id='ajaxAusgabe'></div>
</body>
</html>
Ajax
Code:
var xmlhttp_ajaxAnzeige;
function ajaxAnzeige(str, element)
{
xmlhttp_ajaxAnzeige=GetXmlHttpObject();
if (xmlhttp_ajaxAnzeige==null)
{
alert ("Browser does not support HTTP Request");
return false;
}
url=str;
xmlhttp_ajaxAnzeige.onreadystatechange=stateChanged_ajaxAnzeige;
xmlhttp_ajaxAnzeige.open("GET",url,true);
xmlhttp_ajaxAnzeige.send(null);
document.getElementById("ajaxAusgabe").innerHTML="<img src='./img/loadings/loading1.gif' />";
return false;
}
function stateChanged_ajaxAnzeige()
{
if (xmlhttp_ajaxAnzeige.readyState==4)
{
document.getElementById("ajaxAusgabe").innerHTML=xmlhttp_ajaxAnzeige.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
//ie7+, firefox, chrome, opera, safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
//ie6,ie5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return false;
}
// - - - - - - - - - - - - Mein fehlgeschlagener Versuch
var xmlhttp_ajaxAnzeige;
function ajaxAnzeige(url, element)
{
xmlhttp_ajaxAnzeige=GetXmlHttpObject();
if (xmlhttp_ajaxAnzeige==null)
{
alert ("Browser does not support HTTP Request");
return false;
}
xmlhttp_ajaxAnzeige.onreadystatechange=stateChanged_ajaxAnzeige(element);
xmlhttp_ajaxAnzeige.open("GET",url,true);
xmlhttp_ajaxAnzeige.send(null);
document.getElementById(element).innerHTML="<img src='./img/loadings/loading1.gif' />";
return false;
}
function stateChanged_ajaxAnzeige(element)
{
if (xmlhttp_ajaxAnzeige.readyState==4)
{
document.getElementById(element).innerHTML=xmlhttp_ajaxAnzeige.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
//ie7+, firefox, chrome, opera, safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
//ie6,ie5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return false;
}
PHP Datei (test.php)
PHP:
<?php
echo "Sie haben <b>".$_GET["wert"]."</b> ausgewählt!";
sleep(1);
?>
Wenn ich nun bei:
Code:
document.getElementById("ajaxAusgabe")
Code:
document.getElementById("ajax")
Warum?
Wie muss man das um schreiben das man das auch über das Select-Element bestimmen kann in welches div das ausgeben werden kann?