Hallo Leute!
Ich versuche gerade eine Website zu erstellen und stehe beim Debuggen des Javascripts vor einem Problem, welches ich mir nicht erklären kann. Wenn ich im Firefox-Addon Firebug Beakepoints setze und meine js-Funktionen Schritt für Schritt durchgehe läuft alles so ab wie sein sollte. Wenn das ganze ohne Firebug laufen lasse oder die Breakepoints nicht an den entscheidenden Stellen setze, passieren Dinge, die mir unerklärlich sind.
die entsprechenden JS-Funktionen sehen in etwas folgendermaßen aus:
function BrowserCheck()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlhttp;
}
function BildExist(Bild, Projekt)
{
var exist;
var xmlhttp = BrowserCheck();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
if(xmlhttp.responseText=='true')
{exist = true;}
else
{exist = false;}
}
}
xmlhttp.open( 'GET', 'http://testseite.de/DatExist.php?dat='+Bild+'.jpg&pro='+Projekt, true );
xmlhttp.send();
return exist;
}
function Bildwechsel(Projektname, Bildname)
{
var exist = BildExist(Bildname, Projektname);
if(exist == true)
{
document.getElementsByName(Bildname)[0].style.visibility = "visible";
document.getElementsByName(Bildname)[0].src="Bilder/"+Projektname+"/"+Bildname+".jpg";
}
else
{
document.getElementsByName(Bildname)[0].src="";
document.getElementsByName(Bildname)[0].style.visibility = "hidden";
}
}
und die DatExist.php hat in etwa folgenden Inhalt:
<?php
$dat = $_GET["dat"];
$pro = $_GET["pro"];
$filename = $_SERVER["DOCUMENT_ROOT"].'/Bilder/'.$pro.'/'.$dat;
if(file_exists($filename))
{echo 'true';}
else{echo 'false';}
?>
Wenn ich jetzt bei der Funktion BildExist Breakpoints setze läuft alles normal durch. Wenn die diese Punkte aber nicht setze, bekommt die Variable exist in der Funktion Bildwechsel einen undefinierten Wert. Weiß jemand von euch woran das liegen könnte? ich habs schon mit verschiedenen Rechner und Browsern getestet aber es kommt immer das Gleiche raus.