vorhanden Variablen an iFrame Seite übergeben
mru
- html
Hallo,
eine Webseite bekommt durch ein Formular Variablen übergeben. Die Webseite beinhaltet einen iFrame.
Der iFrame braucht die Variablen - die, die Webseite vom Formular bekommen hat.
Also muss ich es schaffen, die Variablen der Webseite an den iFrame zu übergeben.
Vorsicht: Das Formular liegt nicht auf der Seite mit dem iFrame! D.h. es hilft mir im Moment nicht die Variablen des Formulars mit target="iframe-name" zu übergeben. Es handelt sich um eine richtige neue Seite, die mit target="_blank" geöffnet wurde und, wie gesagt, die Variablen des Formulars bekommen hat.
Ideen?
hallo,
d.h., die seite mit dem iframe wird von dem formular aufgerufen? dann kannst du die variablen mit php z.b. per get an den iframe übergeben (iframe src="index.php?var1=<?=$_GET['var1']?>").
grüße basti
hallo,
d.h., die seite mit dem iframe wird von dem formular aufgerufen? dann kannst du die variablen mit php z.b. per get an den iframe übergeben (iframe src="index.php?var1=<?=$_GET['var1']?>").
grüße basti
Super Idee!
Leider ist die Seite, die im iFrame geöffnet wird keine PHP Seite und ich kann diese auch nicht ändern.
Die Seite im iFrame hat eigentlich ein eigenes Login Formular. Dies soll umgangen werden und mithilfe der Daten des Formulars (welches die neue Seite aufruft mit dem iFrame) soll gleich eingeloggt werden.
Wenn ich die Variablen direkt an die Seite übergebe, also diese nicht in ein iFrame einbette, dann funktioniert das auch - soll heißen, die Variablen kommen an. Aber ich brauch den Umweg über den Iframe, weil ich die seite refreshen können muss.
Die Seite im iFrame hat eigentlich ein eigenes Login Formular. Dies soll umgangen werden und mithilfe der Daten des Formulars (welches die neue Seite aufruft mit dem iFrame) soll gleich eingeloggt werden.
d.h. aber, daß das login-script der iframe-seite irgendeine serverseitige sprache verstehen muss(?); wenn du dieses mit den entsprechenden variablen aufrufst, sollte es doch auf die zielseite weiterleiten?
Die Seite im iFrame hat eigentlich ein eigenes Login Formular. Dies soll umgangen werden und mithilfe der Daten des Formulars (welches die neue Seite aufruft mit dem iFrame) soll gleich eingeloggt werden.
d.h. aber, daß das login-script der iframe-seite irgendeine serverseitige sprache verstehen muss(?); wenn du dieses mit den entsprechenden variablen aufrufst, sollte es doch auf die zielseite weiterleiten?
Ja stimmt,
leider seh ich nur die Ergebnisseite. Im Quellcode sehe ich, dass er das eigentliche Loginformular an eine html datei sendet: "/+webvpn+/index.html" .
Also iFrame ruf ich auch diese Seite auf, deswegen ist es nicht möglich - die Variablen in der Form zu übergeben mit iframe.php?name=name .
Also noch mal zum Verständnis:
wenn du die iframe-seite aufrufst, erscheint im iframe das loginformular. dieses soll jetzt mit den übergebenen variablen gefüllt und versendet werden.
übergabe und absenden per javascript:
parent.frames[index des übergeordneten frames].document.getElementById('id des entsprechenden formularfeldes').value=übergebene variable;
parent.frames[index des übergeordneten frames].forms.loginform.submit();
oder hab ich es komplett falsch verstanden?
grüße basti
Also noch mal zum Verständnis:
wenn du die iframe-seite aufrufst, erscheint im iframe das loginformular. dieses soll jetzt mit den übergebenen variablen gefüllt und versendet werden.
übergabe und absenden per javascript:
parent.frames[index des übergeordneten frames].document.getElementById('id des entsprechenden formularfeldes').value=übergebene variable;
parent.frames[index des übergeordneten frames].forms.loginform.submit();
oder hab ich es komplett falsch verstanden?
grüße basti
Danke,
du siehst es richtig. Auf einem Portal unserer Firma gibt es ein Login, das Formular ruft ein neues Fenster auf. In dem Fenster ist nichts, ausser der iframe. Die Variableninhalte vom Formular hat aber nicht der iframe sondern die aufgerufene Seite.
Nun mussen die Variablenwerte an den iFrame. Bekommt der iFrame die Variablen, dann zeigt dieser kein Loginformular an, sondern führt den Login aus.
Dein Lösungsvorschlag liest sich gut, leider bin ich zu schlecht in Javascript, vielleicht kannst du den noch näher erläutern?
------------
parent.frames[index des übergeordneten frames].document.getElementById('id des entsprechenden formularfeldes').value=übergebene variable;
parent.frames[index des übergeordneten frames].forms.loginform.submit();
------------
index des übergeordneten frames --> welcher Frame wäre übergeordnet? Und wie lautet dann die Indexnr?
Ich bin da echt schlecht auf dem Gebiet
Hi !
Ach so, es gibt Input-Felder. Variablen sind für mich Dinge wie:
var a;
a=a+1;
oder so.
parent.frames[index des übergeordneten frames].document.getElementById('id des entsprechenden formularfeldes').value=übergebene variable;
parent: Das in der Hierarchie obere Fenster.
frames[x]: Das x-te Frame im Frameset
document: Das Dokument, in dem sich die Felder etc. befinden
getElementById("blabla"): Das Objekt (z.B. Input-Feld), welches die ID "blabla" hat, wird angesprochen
value: Wert-Attribut des Objekts
<form>
<input type=text name="guckuck" ID="bla" value="">
</form>
<script>
parent.frames[0].getElementById("bla").value="Hallo";
</script>
im obigen Textfeld steht jetzt "Hallo";
parent.frames[index des übergeordneten frames].forms.loginform.submit();
durch den submit()-Aufruf werden alle Felder, sichtbar wie unsichtbar, an die Url übergeben, die bei ACTION im FORM-Tag steht.
Gruß
Hans
Ok danke für die Erklärung, aber es löst das Problem nicht.
Ich sag mal, wie es zu lösen wäre, ohne das ich weiß, wie dafür der Code (in dem Fall sicher wieder javascript) aussehen müsste.
Auf der Seite mit dem iFrame, muss unsichtbar ein Formular liegen, welches mit den übergebenen Werten gefüttert wird. Dieses soll dann automatisch beim Aufruf der Seite abgeschickt werden und schickt dann die Daten zum iFrame, der nach refresh die Daten verarbeiten kann.
Müsste doch irgendwie zu machens ein...
Vielleicht wisst ihr was.
Hi !
Annahme, das IFRAME ist das erste Frame auf Deiner Seite.
top.frames[0].setze_erste_variable(erste_uebergeben_variable);
Somit rufst Du die Funktion "setze_erste_variable" in der Seite des IFRAMEs auf und übergibst dieser die erste vom Forumlar übergebene Varibale. Die Funktion setzt dann innerhalb der Seite die für die Seite/IFRAME wichtige Variable mit dem Wert des Übergabeparameters.
Quasi gleicher Vorgang, wie wenn Du bei C++ eine private-Variable von aussen über eine public-Methode setzen willst.
Gruß
Hans
Hi !
Annahme, das IFRAME ist das erste Frame auf Deiner Seite.
top.frames[0].setze_erste_variable(erste_uebergeben_variable);
Somit rufst Du die Funktion "setze_erste_variable" in der Seite des IFRAMEs auf und übergibst dieser die erste vom Forumlar übergebene Varibale. Die Funktion setzt dann innerhalb der Seite die für die Seite/IFRAME wichtige Variable mit dem Wert des Übergabeparameters.
Quasi gleicher Vorgang, wie wenn Du bei C++ eine private-Variable von aussen über eine public-Methode setzen willst.
Gruß
Hans
Ok,
d.h. mit einem Javascript kann ich somit die Variablen an den iframe "schicken", ohne die Seite des iFrame selbst ändern zu müssen? Das geht nämlich nicht.
Vielleicht kannst du dein Beispiel noch etwas besser erklären, ich habs jetzt so verstanden:
top.frames[0].username(username);
top.frames[0].userpass(userpass);
Verbesser mich bitte.
Danke für die Antwort.
Hi !
Ok,
d.h. mit einem Javascript kann ich somit die Variablen an den iframe "schicken", ohne die Seite des iFrame selbst ändern zu müssen? Das geht nämlich nicht.
Tja, dann funktioniert meine Lösung nicht.
top.frames[0].username(username);
top.frames[0].userpass(userpass);
Zum Beispiel. Wenn die Seite im IFRAME die Funktionnen username und userpass haben, jeweils mit dem entsprechenden Übergabeparameter
Gruß
Hans
Hi !
Ok,
d.h. mit einem Javascript kann ich somit die Variablen an den iframe "schicken", ohne die Seite des iFrame selbst ändern zu müssen? Das geht nämlich nicht.Tja, dann funktioniert meine Lösung nicht.
top.frames[0].username(username);
top.frames[0].userpass(userpass);Zum Beispiel. Wenn die Seite im IFRAME die Funktionnen username und userpass haben, jeweils mit dem entsprechenden Übergabeparameter
Gruß
Hans
Schade.