Avatar billede toppus Nybegynder
24. oktober 2003 - 21:05 Der er 20 kommentarer og
1 løsning

variabler mellem frames

har en asp side hvor der er 4 frame med hver sin asp side
kan man over føre data /variabler mellem dem hvis, hvordan så.. skal virke meget simpelt. :)
Avatar billede toppus Nybegynder
24. oktober 2003 - 21:06 #1
ikke noget med database osv
Avatar billede thesurfer Nybegynder
24. oktober 2003 - 21:31 #2
jeg håber ikke at det her er en del af "osv" :)

** metode 1 (javascript, via form, uden reload/load af side):

frame1:
<form name="varForm">
<input type="text" name="varInfo">
<input type="button" value="send til frame 1" onClick="parent.FRAMENAVN2.document.forms.varForm.varInfo.value = this.varInfo;">
</form>

frame2:
<form name="formVar">
<input type="text" name="varInfo">
<input type="button" value="send til frame 2" onClick="parent.FRAMENAVN1.document.forms.varForm.varInfo.value = this.varInfo;">
</form>

Hvor FRAMENAVN1 og FRAMENAVN2 er navnene på frame 1 og frame 2.

Her er brugt type="text" for at vise dig indholdet af textboxen..
hvis det ikke skal kunne ses, bruger du type="hidden".

i stedet for en knap, kan du også bruge onClick="..." i et link, eller andre tags.


** metode 2 (asp med querystring)

jeg mener at du (toppus) bruger (har brugt?) asp.. der kan du bruge <a href="side.asp?VARNAVN=Hans" target="FRAMENAVN">send variabel til FRAMENAVN</a>

du kan så bruger request.querystring("VARNAVN") for at få fat på "Hans"

hvor VARNAVN er navnet på variablen, og FRAMENAVN er navnet på framen.

du kan også bruge form metoden i asp.. så bruger du bare request.form("varInfo") i stedet for querystring.


** metode 3 (javascript med querystring)
samme som asp, men via javascript.. det er lidt idet man ikke bare henter "VARNAVN", men skal hen og splitte linien ved "?", og ved "&" hvis man har flere variabler.
Avatar billede thesurfer Nybegynder
24. oktober 2003 - 21:32 #3
der er flere metoder (og sikket bedre).. det var bare et par stykker..
Avatar billede toppus Nybegynder
24. oktober 2003 - 21:40 #4
i motode 2 sker det helt automatisk hvis der kører en reload af frame 1 hver 5 min
Avatar billede thesurfer Nybegynder
24. oktober 2003 - 21:54 #5
hvad mener du? :)
Avatar billede thesurfer Nybegynder
24. oktober 2003 - 21:55 #6
har du sat en function til at reload frame 1 hvert 5. minut?
Avatar billede toppus Nybegynder
24. oktober 2003 - 22:00 #7
det skulle jo gerne ske når frame 1 reloader så bliver der lavet en variabel og når frame 2 reloader så bliver den hentet ind  HELT automatisk
Hvis jeg har en side side.asp som har  2 frames A som indeholder 1.asp og B som indeholder 2.asp
hvad skriver jeg så med metode 2 for at sende VAR1 fra 1.asp til 2 asp når  side.asp reloader hver 5 min ???  .....please  skære ud i pap :)
Avatar billede thesurfer Nybegynder
24. oktober 2003 - 22:12 #8
vil var1 ændre sig, eller er den konstant?
hvis den ændre sig, hvordan sker ? via link, knap, hvad?
Avatar billede toppus Nybegynder
24. oktober 2003 - 22:48 #9
var 1 vil ændre sig da det er en variabel som bliver opdateret hver 1 min
Avatar billede thesurfer Nybegynder
24. oktober 2003 - 23:37 #10
OK.. dvs:

side1 har 2 frames.
A er 1.asp (f.eks. venstre)
B er 2.asp (f.eks. højre)

Når side1 loades, loades A og B.
Når A loades danner den en variabel.
Når B loades henter den variablen fra A.

Er det korrekt?
Avatar billede thesurfer Nybegynder
24. oktober 2003 - 23:56 #11
eksempel..:

A/frame1/1.asp:

<script language="javascript">
x = 'MinVarX_' + klokken; //variablen 'x', klokken er f.eks. 12:34:56
parent.frame2.location.href='2.asp?x=' + x; // lægges over i en textbox
</script>

B/frame2/2.asp:

variablen, <%=request.querystring("x")%>, er hentet via urlen..


Udskriften fra 2.asp ser sådan ud:
variablen, MinVarX_12:34:56, er hentet via urlen..
Avatar billede thesurfer Nybegynder
24. oktober 2003 - 23:58 #12
" // lægges over i en textbox" var en del af den gamle kode.. sorry..

i den nye kode skulle der have stået:
// åbner siden '2.asp?x=MinVarX_12:34:56' i frame2 vinduet
Avatar billede toppus Nybegynder
25. oktober 2003 - 22:02 #13
kan ikke få den til at sende variablen over i den anden frame
Hvad menes med parent.frame2.location. er det navnet på A??  altså siden i frame 2.asp
Avatar billede toppus Nybegynder
26. oktober 2003 - 00:10 #14
Det er meningen af når 1.asp bliver reloadet så sender den 2.asp til frame2 med de nye oplysninger ikke ?
min framenavn2 hedder bare "2" så det burde se sådan her ud ikke ?
<script language="javascript">
x = 'antal';
parent.2.location.href='2.asp?x=' + x;
</script>
Avatar billede thesurfer Nybegynder
26. oktober 2003 - 13:38 #15
jo.. virker det ikke?
Avatar billede toppus Nybegynder
26. oktober 2003 - 20:15 #16
Næ ikke hvis jeg sætter en asp variabel ind
f.eks
x = <%=test%>;
parent.2.location.href='2.asp?x=' + x;
Avatar billede thesurfer Nybegynder
28. oktober 2003 - 10:40 #17
hvad indeholder "test"?
sådan som du har det der, er test en variabel, og ikke teksten "test".. teksten ville være: <%="test"%> eller <%response.write "test"%>
hvis du vil have "test" til at stå i "x", skal du f.eks. bruge:

x = <%="test"%>;
parent.2.location.href='2.asp?x=' + x;
Avatar billede toppus Nybegynder
28. oktober 2003 - 14:35 #18
test er en variabel fra en asp side der indeholder en streng
så for lige at undgå alle misforståelser så ser det sådan her ud:

X=<%=test%>;
parent.2.location.href='2.asp?navn='+X;
dette her virker ikke. den overfør ikke noget ,men hvis det var "test" så bliver det overført

Men hvis jeg laver en response.write test  så viser den er der ER noget i
Avatar billede thesurfer Nybegynder
28. oktober 2003 - 15:37 #19
hmm.. underligt.. og både test og javascript er på samme side?

prøv det her:
X=<%=test%>;
alert("*" + X + "*");

hvis du får en box med indholdet "**", er der IKKE noget i X.
Husk at javascript er case-sensitive.. dvs "x" og "X" er ikke det samme..
Avatar billede toppus Nybegynder
29. oktober 2003 - 03:39 #20
Det virker nu.. :)  ved ikke hvad der gik galt første gang
Mange tak for hjælpen
Avatar billede thesurfer Nybegynder
29. oktober 2003 - 16:00 #21
Det var så lidt :)
Takker for points.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester