Hallo,
Folgendes: Ich rufe über meiner index.html eine Funktion einer externen .js ab -> Dort definiere ich den Wert einer globalen Variable und rufe anschließend mit
Mal ein kleines Beispiel
Erste HTML:
Zwote HTML:
Führt zu undefined.
Wie gesagt, wenn ich jetzt über Funktion1 nicht die neue html lade und stattdessen die Funktion2 aufrufe, dann erhalte ich auch "test" bei der Ausgabe.
Folgendes: Ich rufe über meiner index.html eine Funktion einer externen .js ab -> Dort definiere ich den Wert einer globalen Variable und rufe anschließend mit
window.location="Seite2.html"; eine neue Seite auf -> dort möchte ich über <body onload="AndereFunktion()"> eine andere Funktion der gleichen Datei aufrufen und mittels document.getElementById('thisID').innerHTML = 'Wert von Variable Test: ' + testvar; den Wert der Variable ausgeben den ich zuvor definiert habe. Jedoch ist die Variable dann undefinied und ich weiß nicht warum. Wenn ich in der zweiten Funktion alert(testvar); einbaue erhalten ich auch nicht den Wert! Wenn ich jedoch direkt über die erste Funktion die zweite Funktion aufrufe, dann funktioniert es. Also es scheint so, dass ich über eine globale Variable keinen Zugriff mehr bekomme bzw. der Wert irgenwie "gelöscht" wird, wenn ich davor eine andere HTML-Datei geladen habe Mal ein kleines Beispiel
Erste HTML:
HTML:
...
...
<input type="button" value ="Weiter" onClick="Funktion1">
...
...
Javascript:
var testvar;
function Funktion1(){
testvar = "test";
window.location="ZwoteHTML";
}
function Funktion2(){
alert(testvar);
}
Zwote HTML:
HTML:
....
...
<body onload="Funktion2()">
...
....
Wie gesagt, wenn ich jetzt über Funktion1 nicht die neue html lade und stattdessen die Funktion2 aufrufe, dann erhalte ich auch "test" bei der Ausgabe.
Zuletzt bearbeitet von einem Moderator: