Frameübergreifende Datenübergabe mittels Formular
Frameuser
- javascript
Hallo!
Auch nach geduldigem Suchen im Archiv habe ich keine Antwort zu folgender Problemstellung gefunden:
Auf der Begrüßungsseite meiner Homepage habe ich 3 Buttons in ein formular integriert, nach deren Betätigung der Besucher entsprechend weitergeleitet wird.
Alle Buttons befinden sich in einem Formular und dieses Formular wird an "send.formmailer.com" geschickt, damit ich eine eMail über die Betätigung des Buttons erhalte. Ist sozusagen eine "Besucherzähler mit Interessenabfrage". Vom Formmailer wird dann eine (!) festgelegte Bestätigungseite in meinem Projekt angesprungen.
Soweit war alles ganz einfach. Jetzt wird's schwieriger. Da ich Cookies auf keinen Fall verwenden möchte, habe ich mir eine andere Methode zum sichern von Daten gesucht: ich schreibe vor dem Absenden des Formulares diese Daten (welchen Button der Besucher gedrückt hat) in ein Feld eines anderen Formulares in einem zweiten Frame, um den Wert später herauszuholen und zum Aufruf einer speziellen Seite zu verwenden. Und genau hier scheitert die Sache. Wärend der Internetexplorer anstandslos auf den anderen Frame zugreift den Wert sichert und hinterher wieder ausliest, stellt sich OPERA 9.0 mit einer langen Fehlermeldung quer, die folgende Scriptzeile reklamiert:
parent.Speicher.Speicherzellen.Klasse.value=Wert;
Speicher= Framename
Speicherzellen= Formularname
Klasse= Formularfeldname
Habe es auch schon mit
window.Speicher.Speicherzellen.Klasse.value=Wert;
oder
top.Speicher.Speicherzellen.Klasse.value=Wert;
probiert, mit gleichem Ergebis in OPERA. Habe ich bei der Notation irgendwas falsch gemacht? Kann OPERA das generell nicht? Gibt es einen anderen Weg -außer Cookies- um Daten von einer Seite innerhalb einer Domain auf eine Andere zu übertragen?
Würde mich über Lösungsvorschläge freuen. Vielen Dank im Voraus und gute N8
Hallo,
ich verstehe nicht genau was du vorhast.
Du willst je nach Submitauswahl die Auswahl speichern.
Aber wozu, da du ja offensichtlich kein PHP/ASP oder
sonstiges verwendest?
probiert, mit gleichem Ergebis in OPERA. Habe ich bei der Notation irgendwas falsch gemacht? Kann OPERA das generell nicht? Gibt es einen anderen Weg -außer Cookies- um Daten von einer Seite innerhalb einer Domain auf eine Andere zu übertragen?
Würde mich über Lösungsvorschläge freuen. Vielen Dank im Voraus und gute N8
Cookies bringens eh nicht ist bei vielen abgeschaltet.
Deine Lösung wäre serverseitig eben php,asp,perl etc.
Aber wenn du genau beschreibst was du möchtest kann ich dir
vielleicht in javascript helfen, auch wenn es nicht viel
sinn macht.
Stefan
Hallo,
ich verstehe nicht genau was du vorhast.
Du willst je nach Submitauswahl die Auswahl speichern.
Aber wozu, da du ja offensichtlich kein PHP/ASP oder
sonstiges verwendest?
Richtig, mit den Serverscriptsprachen usw. kenn ich mich nun gar nicht aus und möchte auch ohne sie auskommen.
Der Sinn der Speicherung liegt darin, daß ich mit unten stehendem Script eine bestimmte Seitenauswahl treffen möchte, so daß der Besucher je nach angeklicktem Button auf einer anderen Seite landet. Da der Button eine Funktion aufruft, die die Speicherung übernimmt und dann den Versand an den Formmailer anstößt, steht das Script in der "Rückkehrseite", die von Formmailer.com angesprungen wird und das ist zwangsweise immer die Gleiche.
Das entscheidende Scriptschnipselchen in der Seite mit den Buttons ist:
parent.Speicher.Speicherzellen.Klasse.value=Wert;
document.Einstieg.submit(); // Einstieg = Formular mit den Buttons
Das Script in der Rückkehrseite lautet:
var Wert = parent.Speicher.Speicherzellen.Klasse.value;
if (Wert=="1") {parent.Hauptframe.location.href="Seite1.html";}
if (Wert=="2") {parent.Hauptframe.location.href="Seite2.html";}
if (Wert=="3") {parent.Hauptframe.location.href="Seite3.html";}
Ich hoffe, ich habe mein Anliegen jetzt besser rüber bringen können :-)