window.opener übernimmt Variable nicht
Julius
- javascript
Hi
Nehmen wir an ich habe eine "hauptseite.html" und ein "popup.html". Wenn man auf der Hauptseite ein Link klickt, wird eine Funktion aufgerufen:
<script language="Javascript">
function openthepopup() {
var blabla = 1;
window.open("popup.html","","width=300,height=200,scrollbars,");
}
</script>
Im Popup möchte ich nun diese Variable mittels opener ausgeben, dazu schreibe ich folgendes in den Body:
<script language="Javascript">
var irgendwas = window.opener.blabla;
document.write(irgendwas);
</script>
Als Ergebnis bekomme ich jedoch immer "Undefined". Woran liegt das?
Gruss & Danke
Julius
Hi,
<script language="Javascript">
script hat ein Pflicht-Attribut namens type...
function openthepopup() {
var blabla = 1;
hier definierst Du blabla lokal in der Funktion.
window.open("popup.html","","width=300,height=200,scrollbars,");
}
</script>
<script language="Javascript">
var irgendwas = window.opener.blabla;
hier greifst Du auf eine im opener nicht-existente globale Variable zu.
document.write(irgendwas);
</script>Als Ergebnis bekomme ich jedoch immer "Undefined". Woran liegt das?
s.o.
Lösung: definiere blabla nicht lokal in der Funktion, sondern global.
cu,
Andreas
Hi,
<script language="Javascript">
script hat ein Pflicht-Attribut namens type...
Ok ok, ist jetzt eingebaut.
Lösung: definiere blabla nicht lokal in der Funktion, sondern global.
Funktioniert leider immer noch nicht. Ich sehe den Fehler einfach nicht:
<script type="text/javascript" language="Javascript">
var blabla = 1;
function openthepopup() {
window.open("popup.html","","width=300,height=200,scrollbars,");
}
</script>
(ich weiss dass beim Popup die Titelangabe fehlt ;))
Hi,
Lösung: definiere blabla nicht lokal in der Funktion, sondern global.
Funktioniert leider immer noch nicht. Ich sehe den Fehler einfach nicht:
Cache gelöscht?
var blabla = 1;
function openthepopup() {
window.open("popup.html","","width=300,height=200,scrollbars,");
(ich weiss dass beim Popup die Titelangabe fehlt ;))
Nein, die fehlt nicht, weil es die gar nicht gibt.
Aber Du hast einen leeren Fensternamen vergeben...
cu,
Andreas
Hi,
Lösung: definiere blabla nicht lokal in der Funktion, sondern global.
Funktioniert leider immer noch nicht. Ich sehe den Fehler einfach nicht:Cache gelöscht?
Hmm ja, nach einigen Shift-Refreshes geht's.
Nachdem das direkte Zuweisen eines Werts funktioniert, möchte ich diese Methode etwas weiterführen.
Beim anklicken des Links soll der Funktion ein Wert mitgeliefert werden, der dann der Variable "blabla" zugewiesen wird, also z.B.
<a href="javascript:openthepopup('1')">Text</a>
<a href="javascript:openthepopup('2')">Anderer Text</a>
Das Skript im Head:
<script type="text/javascript" language="Javascript">
var blabla = nummer;
function openthepopup(nummer) {
window.open("info.html","","width=500,height=400,scrollbars,");
}
</script>
Im Popup soll mir dann wieder das Ergebnis von "blabla" angezeigt werden. Dort heisst es dann aber wieder "undefined".
Wo liegt hier wieder mein Denkfehler?
Hi!
Das Skript im Head:
<script type="text/javascript" language="Javascript">
var blabla = nummer;
Was soll 'nummer' denn an der Stelle sein? Wurde das vorher irgendwo definiert?
Im Popup soll mir dann wieder das Ergebnis von "blabla" angezeigt werden. Dort heisst es dann aber wieder "undefined".
Wo liegt hier wieder mein Denkfehler?
Du musst das 'nummer', das der Parameter der Funktion ist, an 'blabla' zuweisen. Bisher versuchst Du aber, irgendein anderes 'nummer', welches offenbar nicht mal definiert ist, zuzuweisen.
HTH && So long
Du musst das 'nummer', das der Parameter der Funktion ist, an 'blabla' zuweisen. Bisher versuchst Du aber, irgendein anderes 'nummer', welches offenbar nicht mal definiert ist, zuzuweisen.
Und wie kann ich "nummer" der Variable "blabla" zuweisen, wenn ich zwecks dem Befehl window.opener diese global definieren muss und nicht innerhalb einer Funktion?
Ich habe mir http://selfhtml.teamone.de/javascript/sprache/funktionen.htm mal angeschaut, finde die Lösung aber immer noch nicht.
Hi,
Du musst das 'nummer', das der Parameter der Funktion ist, an 'blabla' zuweisen. Bisher versuchst Du aber, irgendein anderes 'nummer', welches offenbar nicht mal definiert ist, zuzuweisen.
Und wie kann ich "nummer" der Variable "blabla" zuweisen, wenn ich zwecks dem Befehl window.opener diese global definieren muss und nicht innerhalb einer Funktion?
Du mußt die Variable global definieren.
Das ist aber keinerlei Einschränkung bezüglich der Zuweisung.
cu,
Andreas
Du mußt die Variable global definieren.
Das ist aber keinerlei Einschränkung bezüglich der Zuweisung.
Danke, jetzt endlich hab ich es hingekriegt.