Ich habe einen Text und einen Button, der bei Klick einen von PHP generierten Text in eine DIV-Box schreiben soll. Das Ganze befindet sich auf einer Seite und soll mit Ajax realisiert werden:
Der Inhalt der DIV-Box soll überschrieben werden, allerdings bleibt der alte Inhalt drin und es kommt neuer hinzu. Ich habe das Gefühl, als würde die Seite einfach nochmal "reingeladen" werden.
Wenn ich den Inhalt aber aus einer externen Datei reinlade:
Und die eine Zeile entsprechend anpasse:
funktioniert alles einwandfrei.
Sieht jemand den Fehler?
Danke!
PHP:
<?php
if(isset($_GET['action']))
{
switch($_GET['action'])
{
case 'ajax':
echo 'Hier ist Ajax';
break;
default:
echo 'fehler';
break;
}
}
?>
HTML:
<script type="text/javascript">
function CreateXmlHttpObjet()
{
var xmlHttpObject = null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttpObject = new XMLHttpRequest();
}
catch( e )
{
// Internet Explorer
try
{
xmlHttpObject = new ActiveXObject( "Msxml2.XMLHTTP" );
}
catch( e )
{
xmlHttpObject = new ActiveXObject( "Microsoft.XMLHTTP" );
}
}
return xmlHttpObject;
}
function loadContent()
{
xmlHttpObject = CreateXmlHttpObjet();
xmlHttpObject.open('get','board1.php?action=ajax', true);
xmlHttpObject.onreadystatechange = handleContent;
xmlHttpObject.send(null);
return false;
}
function handleContent()
{
if (xmlHttpObject.readyState == 4)
{
document.getElementById('inhalt').innerHTML = xmlHttpObject.responseText;
}
}
</script>
<p>Ich werde nicht neu geladen</p>
<div id="inhalt" style="border: solid;">
<a href="#" onclick="loadContent()">Klick mich</a>.<br>
was kommt gleich?
</div>
Der Inhalt der DIV-Box soll überschrieben werden, allerdings bleibt der alte Inhalt drin und es kommt neuer hinzu. Ich habe das Gefühl, als würde die Seite einfach nochmal "reingeladen" werden.
Wenn ich den Inhalt aber aus einer externen Datei reinlade:
PHP:
<?php
if(isset($_GET['param'])){
echo $var . "externe datei ueber ajax geht!";
}else{
echo "externe datei: param nicht gesetzt";
}
?>
HTML:
xmlHttpObject.open('get','ajax.php?param=bla');
Sieht jemand den Fehler?
Danke!