Avatar billede skov_p Praktikant
08. oktober 2004 - 13:26 Der er 19 kommentarer og
1 løsning

Vis billede i pop up vindue

Hej

Hvorfor virker min kode ikke?
Billedet imageLores bliver vidt fint men det nye vindue der skal åbne med et javascript og vise imageHiRes kommer ikke.
Jeg får istedet vist et vindue filer som ligger i den folder hvor mine asp filer ligger.

imageLoRes = "..\" & oRS.Fields("ImageLoRes")
imageHiRes = "..\" & oRS.Fields("ImageHiRes")
showHiRes = """java script:openPic(imageHiRes)"""
%>

<tr>
<td width="35%"><a href="<%=showHiRes%>"><img border="0"
src="<%=imageLoRes%>" WIDTH="160" HEIGHT="120"></td>
<td width="65%">"<%=oRS.Fields("ImageText")%>"</td>
</tr>
<%

</Script>   
<script type="text/javascript">
function openPic(photoname) {
thewidth=850
theheight=650
winleft = (screen.width - thewidth) / 2;
i = open("", "displayWindow","top=10,left="+winleft+",width="+thewidth+",height="+theheight+",status=no,toolbar=no,menubar=no,resize=no,dependent=yes");
i.focus();
i.document.open();
i.document.write('<html>')
i.document.write('<head>')
i.document.write('<title>Large Image<\/title>')
i.document.write('<\/head>')   
i.document.write('<body>')
i.document.write('<A href="java script:window.close();">Close Window<\/A>')
i.document.write('<img src="<%response.write ImageDir%>'+photoname+'" ALT="">')
i.document.write('<\/body>')
i.document.write('<\/html>')
}
</script>
Avatar billede izecube Nybegynder
08. oktober 2004 - 13:28 #1
det her spørgsmål er ikke 30 point vær men snarere 150...
Avatar billede skov_p Praktikant
08. oktober 2004 - 13:32 #2
Jeg skal bare vide hvordan jeg får et pop up vindue linket på mit billede så skal jeg nok selv få billedet i vinduet.
Avatar billede eagleeye Praktikant
08. oktober 2004 - 13:34 #3
hvor kommer variablen ImageDir fra ?
i.document.write('<img src="<%response.write ImageDir%>'+photoname+'" ALT="">')
Avatar billede eagleeye Praktikant
08. oktober 2004 - 13:37 #4
der ud over skal du lave linket om fra :

<a href="<%=showHiRes%>">

til dette

<a href="#" onclick="openPic('<%=showHiRes%>');">
Avatar billede eagleeye Praktikant
08. oktober 2004 - 13:44 #5
Glem det sidste med linket du har jo lavet det med java script:openPic :)

Men det med ImageDir skal du stadig tjekke så vidt jeg kan se er stilen i variablen. Så prøv at skrive det som:

i.document.write('<img src="'+photoname+'" ALT="">')
Avatar billede skov_p Praktikant
08. oktober 2004 - 14:14 #6
Jeg får stadig vist en side hvor man ser de ASP filer som indeholder koden:

[Til overordnet mappe]
7. oktober 2004    09:20        <dir> _vti_cnf
8. oktober 2004    13:54        5417 DBExamp.asp
8. oktober 2004    09:47        12540 dbUtils.asp
Avatar billede eagleeye Praktikant
08. oktober 2004 - 14:47 #7
hmm det lyder mystisk da der ikke er angivet en fil i open.
Prøv at rette:
i = open("",

til:
i = window.open("",
Avatar billede skov_p Praktikant
08. oktober 2004 - 15:00 #8
nix, virker ikke
Avatar billede eagleeye Praktikant
08. oktober 2004 - 15:21 #9
så det ikke det kode det bliver kørt, den kan ikke ad sig selv liste alle filerne. Prøv at tjekke dine filer igennem for teksten "Til overordnet mappe"
Så kan du se hvilken fil den åber i vnduet.
Avatar billede skov_p Praktikant
08. oktober 2004 - 15:32 #10
Det står ingen steder. Der er en funktioni IIS.
Hvis jeg fjerner "Tillad gennemsyn af mapper" får jeg

Mappevisning ikke tilladt
Denne virtuelle mappe tillader ikke visning af indhold

hvordan debugger man i front page, jeg kunne godt tænke mig at se indholdet af variablen showHiRes.

Jeg har prøvet med alert men uden held
Avatar billede eagleeye Praktikant
08. oktober 2004 - 15:34 #11
Hmm ok, så er ImageHiRes kolonnen måske tom?


Du kan prøve at udskrive det:

imageHiRes = "..\" & oRS.Fields("ImageHiRes")
Response.write imageHiRes
Avatar billede eagleeye Praktikant
08. oktober 2004 - 15:41 #12
Prøv lige at rette denne linje:

showHiRes = """java script:openPic(imageHiRes)"""

Til dette så den skriver indholdet ar imageHiRes og ikke teksten imageHiRes

showHiRes = """java script:openPic("&imageHiRes&")"""
Avatar billede eagleeye Praktikant
08. oktober 2004 - 15:44 #13
og prøv også at fjerne dobbelt "" da der i linket er " omkring:

showHiRes = "java script:openPic("&imageHiRes&")"
Avatar billede eagleeye Praktikant
08. oktober 2004 - 15:47 #14
hmm i stedet for skal der vist ' omkring teksten til funktion openPic så prøv sådan her:

showHiRes = "java script:openPic('"&imageHiRes&"')"

og prøv med / og ikke \ når du angiver relativ stier:
imageHiRes = "..\" & oRS.Fields("ImageHiRes")

sådanher:
imageHiRes = "../" & oRS.Fields("ImageHiRes")
Avatar billede skov_p Praktikant
08. oktober 2004 - 16:04 #15
nu er vi tæt på.

Der bliver vist et rødt kryds i stedet for billedet.
Den hopper ikke en folder tilbage.

Jeg har prøvet med / og \
Avatar billede eagleeye Praktikant
08. oktober 2004 - 16:08 #16
Prøv at tjekke HTML koden i det nye vindue ved at højre klikke og View Source.
Prøv at se hvad im src ineholder måske det forklare hvorfor den ikke kan finde billedet.
Avatar billede skov_p Praktikant
08. oktober 2004 - 16:12 #17
Der er ingen / eller \ i teksten

src="../PicturesjrBlomster.JPG
Skulle have været
src="../Pictures\jr\Blomster.JPG
Avatar billede eagleeye Praktikant
08. oktober 2004 - 16:23 #18
Det fordi den fjerne backslah \ i filnavnet og det bruges som escape karakter i javascript.

Så du skal enten skrive / i eller \\ ved at replace det :

imageHiRes = "../" & Replace(oRS.Fields("ImageHiRes"),"\","/")
Avatar billede skov_p Praktikant
08. oktober 2004 - 16:30 #19
Så virker det, tusind tak...
Avatar billede eagleeye Praktikant
08. oktober 2004 - 16:31 #20
Ok det lyder godt ;)
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