SEO-Software von Suchmaschinenoptimierung.de

Auf Variablen aus Opener zugreifen?

(hier klicken, um zum Original Thread zu gelangen)
TrioxX
Moin Moin,

ich weiß, dass das für unsere Cracks hier ein Kinderspiel ist und ich einfach irgendwas übersehe. Also machen wir es kurz und verständlich:

Ich habe zwei Dateien

- Index.html
- Popup.html

Die Datei Index.html beinhaltet folgendes:

code:
1:
2:
<input type="text" ........ id="UserName">
<input type="text" ........ id="PassWord">


Die Datei Popup.html beinhaltet den o.g. Part ebenfalls d.h. zwei verschiedene Seiten jedoch zwei identische Felder.

Nun ist es so, dass Index.html ein Formular ist, welches mittels Submit ein Fenster öffnet (Popup.html), wo sich die selben Felder noch einmal befinden.

Die Felder in der Datei Popup.html sollen mit den eingegebenen Werten der Index.html gefüllt werden.

Mein Versuch ist leider gescheitert:

Index.html beinhaltet u.a.

code:
1:
window.open("Popup.html", "popup", "width=320, height=240");


Die Popup.html beinhaltet:

code:
1:
2:
3:
document.getElementById('UserName').innerHTML = window.opener.document.getElementById('UserName').value;

document.getElementById('PassWord').innerHTML = window.opener.document.getElementById('PassWord').value;


Quizfrage: Warum funktioniert das nicht?

Zitat:
Fehler: window.opener.document.getElementById("UserName") is null
moonsword
schau dir mal das parent objekt an smile
TrioxX
Hi,

leider half mir das auch nicht. Oder ich bin zu blöd, es anzuwenden. Denn damit habe ich ursprünglich angefangen.

Resultat:

Zitat:
Fehler: parent.opener.document.getElementById("UserName") is null
KrickelD
soweit ich weiß kenn das window-objekt kein getElementById, versuche stattdessen einfach mal

opener.document.getElementById("UserName")
TrioxX
Zitat:
Fehler: Erlaubnis zum Lesen der Eigenschaft Window.document wurde verweigert


ôÔ
derletztekick
Hi,

popup.html
code:
1:
2:
3:
4:
5:
6:
7:
<script> 
window.onload = function(e) {
	window.alert(opener.document.getElementById("test").innerHTML);
	
}
</script>


und die Seite, in der das popup geöffnet wird:

code:
1:
2:
3:
<p id="test">Test</p>

<a href="#" onclick='window.open("Popup.html", "popup", "width=320, height=240"); return false;'>klick</a>


Ich erhalte als Ausgabe "Test".

Schöne Grüße
Micha
TrioxX
Moin Micha,

lustigerweise gibts nun keine JS Fehler mehr. Dafür bleibt das Alertfenster leer.

Id ist aber nach wie vor auf beiden Seiten noch "UserName".

Komisch...
TrioxX
Sodele, ich habs nun völlig anders gemacht.

Ursprünglich wollte ich einen Login über zwei Formulare durchführen. Aber ich hab mir überlegt, einfach nen POST request mittels AJAX zu benutzen. Ist die sauberste und zugleich effizienteste Lösung großes Grinsen
derletztekick
Hi,

das von mir gepostete Beispiel habe ich 1 zu 1 kopiert (in den HTML-Dateien stand nichts weiter drin!). Es funktioniert erwartungsgemäß in Opera - was anderes habe ich nicht gecheckt. Kannst Du bitte meine zwei Drei-Zeiler mal in jeweils eine HTML-Datei packen und es ausprobieren und mir dann sagen, was Du bekommst?

Gruß Micha
TrioxX
Im FF gehts, der IE7 meldet "Zugriff verweigert"
derletztekick
Hi,

so, nun habe ich es auch noch mal geprüft und kann _keinen_ Unterschied zwischen IE, FF und Opera feststellen. Alle drei liefern mir "Test" in einer alert-Box.

Keine Ahnung, was bei Dir da nicht gehen soll.

Micha
TrioxX
Hm... Ich kanns dir net sagen Micha. Aber dennoch danke für deine Bemühungen. Wenn ich das nochmal brauche, werde ich dran denken großes Grinsen
derletztekick
Hi,

okay ;-)

Schöne Grüße
Micha
Menschentier
Super, dass das hier so gut erklârt wurde. Bei mir ist dieses problem vor einigen Monaten aufgetaucht. Schade, dass ich jetzt erst diesen Thread finde.
(hier klicken, um zum Original Thread zu gelangen)



Tipp: Ranking-Konzept.de - Das SEO-Forum (Forum rund um die Suchmaschinenoptimierung) der artaxo AG.
Das große Versicherungs ABC von Versicherung.de - mit allen Aspekten der Computerversicherungen!
Fan-Foren.de, die große Community mit Musikforum ist ab sofort online.