Variablen als Objekte speichern
Reiner Rusch
- javascript
Hallo,
ich habe ein Problem mit der Speicherung von Variablen bei JavaScript.
Es soll aus einem Frame1 Variablen an einen Frame2 übergeben werden. Das funktioniert soweit gut. Allerdings besteht ein Problem, aus dem Frame2 die Daten wieder zurückzugewinnen.
In etwa mal der Code:
Anzahl = parent.frames["frame1"].document.formname_a.input_name.value;
Anzahl hat danach wirklich den richtigen Wert, aber nach Ablauf des Scriptes, sind die Daten verloren. Anscheinen muß ich die Daten in ein Objekt packen, wie:
parent.frames["frame2"].document.formname_b.input_name.value = Anzahl;
Geht, wie ich herausgefunden habe, wenn man ein Form à la:
<form name="fromname_b">
<input type="Hidden" name="inputname">
....
</form>
vordefiniert.
Ansonsten bekommt man "....has no properties..."!
Irgendwie verstehe ich -ehrlich gesagt- das Sytem nicht so ganz. Auf welche Weise kann ich die Daten von einem Frame ins andere schaufeln. Was ist dabei zu beachten. Muß ich eine Form wirklich vordefinieren???
Gibt es dazu irgendwelche "eleganten" Methoden, die bei Euch gut klappen???
Danke!!!
Reiner
Hallo Reiner,
Was ich jetzt schreibe, habe ich nicht ausprobiert, ist also nur eine Vermutung:
Anzahl = parent.frames["frame1"].document.formname_a.input_name.value;
Anzahl hat danach wirklich den richtigen Wert, aber nach Ablauf des Scriptes, sind die Daten verloren.
Ich hatte mal ein aehnliches Problem bei der Uebergabe von Variablen an Fenster.
Die Loesung war einfach der Ausdruck "var" vor der Variablen.
Also:
var Anzahl = parent.frames...
Bei dem Fensterproblem hat das Programm die Variable danach nicht mehr "vergessen".
Viele Gruesse
Beate Mielke
Hallo Beate,
Ich hatte mal ein aehnliches Problem bei der Uebergabe von Variablen an Fenster.
Die Loesung war einfach der Ausdruck "var" vor der Variablen.Also:
var Anzahl = parent.frames...
Bei dem Fensterproblem hat das Programm die Variable danach nicht mehr "vergessen".
Danke!!! Aber das habe ich alles schon probiert. Im Endeffekt weiß ich nicht genau, woran es liegt. Mein Script ist noch etwas komplizierter geworden. Es bekommt von ASP Daten geliefert. Wichtig ist dabei eine Zählervariable, die ich als Schleifenzähler nutzen will (Array). Die Daten sind vom "ASP"-Frame in den "Speicher"-Frame gekommen. Leider bekomme ich sie nicht zurück. Ich habe aber eine andere Lösung unter:
http://members.easyspace.com/fips/download/js/js-cart/index.htm
gefunden. Das werde ich mir mal näher ansehen.
Ich habe zwar schon einige Dinge mit JavaScript gemacht. Aber die Objekte dabei, bereiten mir etwas Schwierigkeiten.
Ich habe z.B. auch rausgefunden, daß:
parent.framename.document.....
bei Netscape nicht immer funktioniert.
parent.frames["framename"].document.....
oder
parent.frames[0].document.....
dagegen schon.
Bei IE ist das egal. Vielleicht ist das ja ein Tip für andere Leute?
Dennoch, vielen Dank!!!
Reiner
P.S.: Laut meiner JavaScript-Doku, muß man nur ein Array mittels:
name = new Array(groesse)
vordefinieren.Andere Variablen nicht.