AllesMeins: Variable nicht definiert (sollte sie aber sein)

Hiho,

ich habe mir ein etwas "abenteuerliches" JavaScript gebaut um damit PHP sprechen zu lassen. Das Konzept ist folgendes:

1.) Per HTML eine Meldung ausgeben, das JS nicht unterstützt wird.
2.) Per JS diese Meldung sofort verändern auf eine Fehlermeldung, das das PHP Script nicht fertig gelaufen ist.
3.) Wenn das PHP Script fertig ist per echo einen JavaScript Code ausgeben, der die Variable 'erfolg' auf 1 setzt.
4.) Per onload eine Funktion aufrufen, die prüft ob erfolg = 1 und wenn ja die Fehlermeldung in eine Erfolgsmeldung ändert.

So müsste sich (in der Theorie) realisieren lassen das der Benutzer eine Fehlermeldung erhält wenn ein PHP Script einen timeout erleidet.

Soviel zur Theorie um zu erklären, das ich eine etwas seltsamen Scriptaufbau habe. Anders fällt mir aber keinere sauberer Möglichkeit ein!

Das funktioniert an sich auch nicht schlecht. Das einzige Problem ist, das ich eine Fehlermeldung erhalte die Variable 'erfolg' sei nicht definiert, wenn das PHP Script nichts zurück gibt! Wieso ist sie das nicht? Wo ist mein Fehler?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">

function init(){

//Variablen initialisieren! Fehlermeldung schreiben

var erfolg = 0;
var breite = 0;
var hoehe = 0;

var text = ""
text = "TimeOut Fehler im Script!";

document.getElementById("Meldung").innerHTML = text;
}

function show(){

//Fehlermeldung überschreiben

var erfolg
if(erfolg == 1){
text = "";
text = "Script erfolgreich ausgeführt";
document.getElementById("Meldung").innerHTML = text;
}
}
</script>
</head>

<body onload="show()" bgcolor="#C8CBC4">
<div id="Meldung" style="position:absolute; width:410px; height:115px; z-index:1; visibility: visible; left: 0px; top: 0px;">Keine JavaScript unterstützung.</div>
<script language="JavaScript">init();</script>

<!-- DIESER TEIL WIRD VOM PHP SCRIPT ERZEUGT -->
<!--ENDE PHP TEIL -->

</body>
</html>

====================================================

Ich hoffe da kann mir jemand helfen.
Grüsse

Marc

  1. Uuups, ein kleiner Nachtrag.

    Habe eine falsche Version des Scriptes kopiert. Die Funktion show() sieht so aus:

    function show(){
    if(erfolg == 1){
    text = "";
    text = "Script erfolgreich ausgeführt";
    document.getElementById("Meldung").innerHTML = text;
    }
    }

    Das "var Erfolg", das dort drinne war. Gehört dor nicht hin. Das war nur ein verzweifelter Versuch,d er abe rzur Folge hatte das erfolg immer = 0 war.

    Grüsse

  2. moin du

    also ich hab jetz nix probiert, aber versuche es mal indem du die variablen alle EINMAL außerhalb der funktionen definierst, vorzugsweise am anfang

    gruß