formularvariablen zwischen iframes übergeben
kai
- php
0 Knut Meinke0 kaepten
hallo,
ich hab ein riesen problem.
ich muss in einer seite 3 iframes verwenden die dynamisch mit
inhalten geladen werden sollen.
also 1 feld plz ( input )
dann soll durch nen textlink ein zweiter iframe aufgrufen werden
indem dann zur plz die strassen gesucht werden ...usw
ich habe aber keine ahnung wie ich die variablen mit diesem
textlink übergebe...
das ginge zwar auch über js aber das soll nicht.
kann mir bitte einer helfen.
vielen dank !!
kai
Hi,
ich habe aber keine ahnung wie ich die variablen mit diesem
textlink übergebe...
Mehrere Möglichkeiten:
1.) Variablen mit GET Methode Übergeben
Variablen kannst du per query string übergeben. Ein Query String wird an die Url angehängt und hat die Form:
http://domain.de/datei.html?name1=value1&name2=value2
Den Query String müstest du mit javascript an die Url anhängen:
frame.location.href= "datei.html?name=" +urlEncode(oInput.value)+ " [...]
Wichtig ist das Texte die du über gibst "URLEncoded" sind. Im Grunde werden leer und sonderzeichen durch komische konstrukte ersetzt ^^ (leerzeichen ist %20 zumbeispiel)
2.) Variablen mit POST Methode übergeben
Du kannst ein Formular direkt an einen anderen Frame abschicken:
<form method="post" action="datei.html" target="framename">[...]
Auf der Seite kannst du die Variablen dann per z.B. PHP auslesen.
3.) Variablen per DOM Übergeben
Du kannst dich auch ausschließlich auf JavaScript verlassen und die Variablen client seitig zwischen den einzelen DOMs übergeben:
<frame1>
function myEventHandler(str)
{
oFrame = [...]
oFrame.document.myVariable = str;
<frame2>
function test()
{
alert(window.document.myVariable);
}
4.) UserData Store
Im IE gibt es einen CLient Seitigen User Data Store, eine XML Datei irgendwo im IE Verzeichnis in die du per javascript schreiben und lesen kannst. Das ding ist persistent und überlebt auch sessions - eine art client seitiger cookie ;) Mehr dazu findest du sicher im msdn..
5.) Verzichte auf die Frames
Frames braucht kein mensch mehr. schmeiß die dinger raus und benutze server side includes um document teile auszulagern. frames machen aggressiv - mich zumindest :)
gruß
Knut
Hi knut
5.) Verzichte auf die Frames
Frames braucht kein mensch mehr. schmeiß die dinger raus und benutze server side includes um document teile auszulagern. frames machen aggressiv - mich zumindest :)
Das geht mir genauso!
Aber mein Chef will unbedingt ein neues "Konzept" durchboxen, wo sehr intensiv mit (mehreren) Frames mit IFrames gearbeitet werden soll! *schreck*
Ich bin um alle stichhaltigen Argumente _gegen_ eine solche Verframung, Frames und IFrames im speziellen, dankbar! ;-)
kaepten
Ich bin um alle stichhaltigen Argumente _gegen_ eine solche Verframung, Frames und IFrames im speziellen, dankbar! ;-)
Fangen wir mit dem einzigen Vorteil an:
Vorteil: Mit Frames kann man einzelne Seiten Inhalte neu laden ohne die ganze Seite neu zu laden. Das führt besonders bei Großen Seiten zu einem stabilerem Seiten Verhalten für den Besucher (schnellere Lade Zeiten)
Dieser Vorteil wird aber durch die mittlerweile sehr gute unterstüzung von DOM und dem XMLRequest Object wettgmacht.
Die Nachteile:
Frames splitten Inhalte in mehrere Source Code Datein auf was nicht immer erwünscht ist und zu komplexeren Projekten und erschwerter Wartbarkeit führt
Inhalte von Frames werden von Suchmaschienen als eigenständige Seite angesehn - mit eigenem PR, etc pp. Das hat u.u. negative auswirkungen auf das Ranking - oder zumindest keine positiven
Frames machen den Source Code komplexer, gerade wenn man mit mehreren sich synchronisierenden Frames arbeitet wird der Workflow des "Programmes" erheblich gestört.
gruß