Avatar billede ingerslev Nybegynder
09. juli 2003 - 17:23 Der er 7 kommentarer og
1 løsning

Crossing Frames

Jeg har brug for at krydse frames, med det mener jeg at jeg gerne vil have data fra en variable i en iframe over på hovedframen.

Det jeg faktisk prøver på er at loade en ASP-side i IFramen og hente nogle data ind i et Array, hvorefter jeg skal have Arrayet over i et andet Frame, hovedsiden.

Håber der er nogen der kan hjælpe mig! Jo hurtigere jo bedre.
Tak på forhånd...
Avatar billede medions Nybegynder
09. juli 2003 - 17:27 #1
Det kan du ikke med ASP!

Du er nødt til at lave noget JavaScript-bix eller noget VBScript-bix!

Det kunne fx. se sådan her ud:

<script language="VBScript">
  document.framenavn.getElementById("div_ID").innerHTML = '<% strVariabel %>';
</script>

//>Rune
Avatar billede ingerslev Nybegynder
09. juli 2003 - 17:28 #2
Ved godt jeg ikke kan med ASP, men det jeg mente var og jeg kan få fat i en client-script-variable med et array i over en IFrame?
Avatar billede medions Nybegynder
09. juli 2003 - 17:35 #3
Du kan ikke direkte få et Array med over, men du kan lave en kommaseparetvariabel med over!

Fx. sådan her:

<%
  arrNavne = Array("Rune", "Anders", "Camilla", "ingerslev")
  For i = LBound(arrNavne) To UBound(arrNavne)
    strVariabel = strVariabel & "," & arrNavne(i)
  Next
%>

<script language="VBScript">
  document.framenavn.getElementById("div_ID").innerHTML = '<% strVariabel %>';
</script>



Så får du så resultatet af dit array sådan her:
Rune,Anders,Camilla,ingerslev

Hvis så du vil ha' det ind i et Array igen er du nødt til at submitte sitet på en eller anden måde så du kan lave en for af Request.Form eller Request.QueryString så du kan arbejde med det i ASP igen!

Altså kort og godt. Du kan IKKE overføre et Array fra en IFrame til en TopFrame med udelukkende ASP. For hvis du bruger Scripting er du nødt til på en eller anden måde at få det ned i ASP igen for at kunne bearbejde det igen, og så er du nødt til at lave en Refresh (submit) for at det kan loadeds ned i ASP.

//>Rune
Avatar billede ingerslev Nybegynder
09. juli 2003 - 17:41 #4
jeg skal ikke arbejde med det i ASP jeg loader data'en med ASP, hvorefter jeg bruge clientscript (VBscript) til at behandle data'en.
Jeg loader en ASPside i IFramen som ser sådan ud:

aspimage.asp :

<%
Dim fso, f, f1, fc, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(Server.MapPath("images/"))
Set fc = f.Files
For Each f1 in fc
    s = s & Chr(34)
    s = s & f1.name
    s = s & Chr(34)
    s = s & ","
Next
%>

<html>
<head>
<title>ASPIMAGE</title>

<script language="VBScript">
Dim A
A = Array(<%=Left(s,Len(s)-1)%>)
</script>

</head>
<body>
</body>
</html>

og så har jeg hovedsiden test.htm

Links:

http://www.ganefryd.dk/test.htm
http://www.ganefryd.dk/aspimage.asp
Avatar billede medions Nybegynder
09. juli 2003 - 17:50 #5
Ja, og hvad er det så du vil?

//>Rune
Avatar billede ingerslev Nybegynder
09. juli 2003 - 17:53 #6
Det jeg prøver på her er at når jeg klikker på det grønne felt skulle der gerne stå indholdet af <div id="hey"> feltet i alert'en...
Avatar billede medions Nybegynder
09. juli 2003 - 17:56 #7
Prøv sådan her:

<html>
<head>
<title>TEST</title>
<script language="VBScript">
Dim B
B = document.aspimage.getElementById("hej").innerHTML
</script>
</head>

<body>
<iframe width="300px" height="300px" id="aspimage" src="aspimage.asp"></iframe>
<div onClick="vbscript: MsgBox(B)" style="background-color: green;">!KLIK HER!</div>
</body>
</html>

//>Rune
Avatar billede ingerslev Nybegynder
09. juli 2003 - 17:59 #8
test selv... jeg har prøvet at sætte B=document.title som gav mig title tilbage, men da jeg prøvede B=document.aspimage.document.title virkede det ikke!
Har også prøvet B=document.frames("aspimage").document.title
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
Kurser inden for grundlæggende programmering

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