Globale Variable wird im IE7 nicht akzeptiert

Kai-Behncke

Erfahrenes Mitglied
Hallo allersetis,

irgendwie sehe ich gerade den wald vor lauter Bäumen nicht.


Ich nutze eine Funktion:
Code:
function move(richtung){


ajax_layer_standort_extent();

alert ("test'+zielort+' '+gastrolayer);

}

In der Funktion ajax_layer_standort_extent werden
einige Variablen definiert:

Code:
function ajax_layer_standort_extent()
{
gastrolayer=document.getElementById("gastronomie").checked;

if (document.getElementById("zielort").innerHTML != '' ){

zielort=document.getElementById("zielort").innerHTML;

}
else
{

zielort='test';

}
}

Im Firefox ist das ganze auch kein Problem.
Im IE7 wird die globale Variable "gastrolayer" akzeptiert, der IE 7 bricht aber ab, wenn dies hier kommt:

Code:
...else
{

zielort='test';

}

Das ist mir ein absolutes Rätsel.

Ich kann dort scheinbar einfach keine globale Variable definieren
Ein var zielort='test' funktioniert, nur dann steht die Variable nicht in der Funktion "move()" zur Verfügung?

Kann mir da vielleicht jemand einen Tip geben?
Danke im voraus, Kai
 
Hi,

im IE kann ein Element mit der ID zielort auch wie folgt angesprochen werden:
Code:
window.zielort
Da das Objekt window entfallen kann, ist
Code:
window.zielort == zielort

In deinem Fall bedeutet das, dass du den Name der globalen Variablen ändern musst. Z.B. von zielort in g_zielort.

Ciao
Quaese
 
Hi Quase,

vielen Dank einmal mehr :)

Ich habe jetzt noch eine andere Lösung gefunden, ich habe var zielort;
außerhalb der Funktion definiert (dann ist diese ja auch global),
und kann dann diese auch wie gewünscht in einer Funktion überschreiben, damit läuft es....

Beste Grüße, Kai
 
Zurück