mmofacts.com

Refresh eines Iframes

gepostet vor 18 Jahre, 6 Monate von Cays
Liebe Leidensgenossen

Ich habe ein mehr oder weniger großes Problem.
Mein Ziel ist es, dass sobald ein Ereigniss eintrifft ein bestimmter iframe aktualisiert wird. (Das hier soll keine Diskusion über Frames werden... Augenzwinkern ich habe meine Gründe! )
Die Situation ist folgende.
Der Benutzer mach eine Eingabe in ein Formular und sendet dieses ab. Wenn der Inhalt dann, z.B. "counterstrike" ist, soll sich in einem bestimmten Frame der Inhalt ändern. Er soll also refresht werden. Es ist wichtig, das ausschließlich dieser Frame aktualisiert wird.
Mein erster gedanke war ein . Allerdings gibt es da kein Target Attribut.
Ich denke, ich muss das mit Javascript lösen. Habe allerdings nichts passendes gefunden.
Es geht mir also darum, den Frame über ein Skript zu refreshen.
Kann mir einer helfen?
MfG.Cays
gepostet vor 18 Jahre, 6 Monate von neit
Gib dem Iframe ne ID und dann müßte sowas in der Art eigentlich funktionieren:

document.getElementById(iframe_id).href='neue url';

gepostet vor 18 Jahre, 6 Monate von Kaiser Nero
Gib doch deinem I-Frame einen namen und schreib dann in deine Form folgendes:

 




Falls du Get als Methode verwendest geht das bestimmt auch.
Also einfach in dem Form-Tag ein target angeben (halt den namen vom iframe).

mfg
gepostet vor 18 Jahre, 6 Monate von Cays
Original von neit
Gib dem Iframe ne ID und dann müßte sowas in der Art eigentlich funktionieren:

document.getElementById(iframe_id).href='neue url';



Das müsste funktionieren... Einen Namen hat der Iframe auch schon!

Das andere, mit dem Formtag geht leider nicht.
Der Benutzer macht überwiegend alle seine Eingaben über EIN Eingabfester. Es ist also kein bestimmtes Formular... Hoffe das ist zu verstehen! ^^
Deshalb muss der Wert erst getestet werde um dann ggf. weitergeleitet zu werden.
gepostet vor 18 Jahre, 6 Monate von Kaiser Nero
Jo ist verständlich...
ich dachte es wär eine Form wegen diesem Satz:

Original von Cays

Der Benutzer mach eine Eingabe in ein Formular und sendet dieses ab.

leider habe ich sonst keine Ideen wie das funktionieren könnte...

mfg
gepostet vor 18 Jahre, 6 Monate von Cays
 
document.getElementById(hackfenster).href='hack.php';

Aus einen für für mich nicht erkenntlichen Grund, verändert er die URL des Hauptframes :/ Nicht allerdings die des zu änderter Frames...
gepostet vor 18 Jahre, 6 Monate von Cays
Schade, trotzdem danke!
gepostet vor 18 Jahre, 6 Monate von Cays
Hmmm. Neit hat auf jeden Fall den richtigen Ansatz! Habe es jetzt aber etwas anders gelößt... Der User muss jetzt einen Link drücken. Nicht so wie ich es mir gewünscht habe, aber auch in Ordnung.
Vielen Dank für die Hilfe.
MfG
gepostet vor 18 Jahre, 6 Monate von Chojin
Original von neit
Gib dem Iframe ne ID und dann müßte sowas in der Art eigentlich funktionieren:

document.getElementById(iframe_id).href='neue url';



fehlt da den nicht noch ein "location" zwischen dem getbyid und href?

reg4rds
chojin
gepostet vor 18 Jahre, 6 Monate von knalli
Jo, würde ich auch sagen

 

FRAME.location.href = URI;
gepostet vor 18 Jahre, 6 Monate von Cays
Ok! Ich werde mich nochmal damit beschäftigen! Weil meine jetzige Lösung gefällt mir eigentlich so garnicht!
gepostet vor 18 Jahre, 6 Monate von Cays
^^ Geht natürlich nicht!
 

document.getElementById(hackfenster).FRAME.location.href='hack.php';


Ist da irgendwo ein Fehler? Kenn mich leider wirklich nicht mit JS aus...
Bekomme vom Firefox die Fehlermeldung "hackfenster is not definied" :/
Was tun?
Ist es wichtig zu wissen, dass das Skript selber auch in einem Frame liegt?
MfG
gepostet vor 18 Jahre, 6 Monate von gorgo
ist hackfenster die id selber oder wird in einem anderen js-block hackfenster als varibale genutzt ?
Wenn hackfenster die vergebene id ist denn musst es auch als string angeben

 

document.getElementById("hackfenster").FRAME.location.href='hack.php';


wobei ich fast sagen würde das ...

 

document.getElementById("hackfenster").src='hack.php';


...ausreicht um einem IFrame die neue URL zu übermitteln, aber ich hab mich lange net mehr mit frames und iframes beschäftigt. Kann da nu auch falsch liegen.
gepostet vor 18 Jahre, 6 Monate von Cays
Nein, habe ihn im Vorraus nicht definiert.
Muss ich das? Wenn ja, wie geht das? ^^

Habe es jetzt sowohl mit, als auch ohne Anführungsstroche versucht, also als Variabel und als String. Keine der beiden Möglichkeiten hat funktioniert... :/ Keinerlei reaktion.
gepostet vor 18 Jahre, 6 Monate von knalli
ähm.. mit "FRAME" meinte ich natürlich den Ansprung auf den Frame..

ehm, wie war das noch gleich, frames.framename.location.href?


Egal, schau bei Selfhtml nach, da gibts u.a. sogar ein Beispiel, wie man per Klick 2 Frames gleichzeitig ändert (unter JavaScript, Beispiele/Anwendungen) - da siehst du das dann korrekt in Aktion.
gepostet vor 18 Jahre, 6 Monate von gorgo
hab mal etwas rückwärts gelesen

Das müsste funktionieren... Einen Namen hat der Iframe auch schon!


hat der iframe nun einen namen oder eine id ?
Also entweder du benutzt einen namen, denn musst du getelementbyname nehmen, oder du hast dem iframe eine ID verpasst. Nur dann geht getlementbyid.

also
id="Frameid" src="index.php" >
mit
document.getElementById("Frameid").src = "hack.php";
gepostet vor 18 Jahre, 6 Monate von Cays
Ne, der hat ne ID

Das mit dem FRAME war mir irgendwie nicht ganz klar
kam mir aber auch schon merkwürdig vor! ^^

Diese Selfhtml geschichte hatte ich auch schon gesehen... hat mir aber leider nicht weiter geholfen... :/
MfG.Cays
gepostet vor 18 Jahre, 6 Monate von Chojin
es würde mich nicht wundern wenn das mit dem "src" nicht klappt..

es muss einfach nur lauten:
document.getElementById("hackfenster").location.href='hack.php';

reg4rds
chojin
gepostet vor 18 Jahre, 6 Monate von gorgo
es würde mich nicht wundern wenn das mit dem "src" nicht klappt..


Wie gesagt war mir auch net mehr sicher. Drum hab ich es eben gleichmal probiert.
Und es geht. Und wenn man denn so drüber nachdenkt erscheint es auch logisch, da src ja eben das element ist das den source definiert und man mittels gelementby....ja direkt auf die node zugreift und jedes zugehörige element verändern kann. (ok welches r/w ist und src ist glaub ich bei jedem element das es verwendet r/w)
gepostet vor 18 Jahre, 6 Monate von FateF8
hi,

eigentlich soll der iframe doch nur aktualisiert werden, neu geladen werden, oder?

ist dann "....location.reload();" nicht "richtiger", wie die URI neu zu schreiben?

document.getElementById("hackfenster").location.reload();


wobei ein frame, auch ein iframe, dem "window"-element untergeordnet ist, und damit auch:
window.frames[FrameNummer].location.reload();
funktionieren sollte.

oder, wenn ein auch ein name für den iframe vergeben ist, sollte ebenfalls:
window.frames['FrameName'].location.reload();
funktionieren.

ich hoffe, nichts falsches geschreiben zu haben

gruss

FateF8

Auf diese Diskussion antworten