Avatar billede man_11 Nybegynder
06. september 2001 - 09:57 Der er 9 kommentarer og
1 løsning

Hvordan?

Når man opretter en ny post, har man mulighed for at vælge et billede(<option></option>) som skal vises sammen med den post man opretter. Denne funktion har jeg lavet med filesystemobject, og den viser de billeder der ligger i min image mappe. Det valg man så foretager sig bliver så lagt i datafeltet \"image_\"...

Når jeg så vil update min post vil jeg have at det billede der henvises til fra datafeltet \"image_\" er selected i dropdown boxen, så man undgår at få et forkert billede vist hvis man glemmer at vælge billedet på ny.

Avatar billede tmceu Praktikant
06. september 2001 - 09:59 #1
<OPTION SELECTED></OPTION>
Avatar billede man_11 Nybegynder
06. september 2001 - 10:02 #2
Det jeg mente var: Værdien fra feltet \"image_\" skal sammen lignes med de billeder der tilgængelige i mappen image, og sætte \"selected\" tagget ud fra det billede der er angivet i datafeltet \"image_\"
Avatar billede tmceu Praktikant
06. september 2001 - 10:03 #3
Vis lige den kode du bruger til at lave din select liste med billederne ud fra, så skal jeg se om jeg kan sætte den ind.
Avatar billede erb Nybegynder
06. september 2001 - 10:07 #4
Sådan ser definitionen af mappen ud:
<% ImageDir = \"../images/\"
Set objFS = CreateObject(\"Scripting.FileSystemObject\")
Set objFolder = objFS.GetFolder(Server.MapPath(ImageDir))
Set objFiles = objFolder.Files %>

og sådan ser dropdown ud:
    <OPTION VALUE=\"\" <% if not request(\"new\") = \"true\" then if rsDownload(\"filnavn\") = \"\" then response.write \"selected\" end if end if %>>--- Ingen fil valgt ---</OPTION>
<%
For Each Image In objFiles
  Response.Write \"<OPTION VALUE=\"
  Response.Write Image.Name
  if not request(\"new\") = \"true\" then
  if rsDownload(\"filnavn\") = Image.Name then response.write \" selected\"
  end if
  Response.Write \">\"
  Response.Write Image.Name
  Response.Write \"</OPTION>\"
Next
%>

Bemærk der der i i request er new=TRUE hvis det er en post der skal oprettes, og ikke hvis det er en post der skal redigeres, det kan du dog udelade, hvis du har én side til at oprette og én til at redigere. Skift rsDownload(\"filnavn\") ud med navnet på dit recordset og feltnavnet i DB, så skulle den være hjemme...

/erik
Avatar billede man_11 Nybegynder
06. september 2001 - 12:23 #5
det virker ikke efter hensigt...

<%
set fso = server.createobject(\"scripting.filesystemobject\")

set fileobject = fso.getfolder(server.mappath(\"upload\"))

set fso_files = fileobject.files
%>
<select name=image_ class=stan_form>
<%
for each file i fso_files
response.write \"<option value=\"
response.write file.name

if file.name = rs(\"image_\") then
response.write \"selected\"
end if
response.write \">\"
response.write file.name
response.write \"</option>\"
next
%>

</select>
det ser meget fornuftigt ud i mine øjne, men serveren kan ikke li det :)

hvad er der nu galt?
Avatar billede man_11 Nybegynder
06. september 2001 - 12:25 #6
det er ikke mine stave fejl der er noget galt med, de er der ikke i scriptet, jeg sidder ved en comp og scripter, og en anden til at spørge her..
Avatar billede erb Nybegynder
06. september 2001 - 13:14 #7
Start med at definere en variabel med stien til mappen:
ImageDir = \"upload/\"
husk skråstreg efter mappenavnet!
Derudover skal du have et mellemrum før selected:
response.write \" selected\"
da værdien og selected ellers vil hænge sammen...
Avatar billede erb Nybegynder
06. september 2001 - 13:17 #8
Skulle måske lige præcisere mht. variablen:
<% ImageDir = \"upload/\"
Set objFS = CreateObject(\"Scripting.FileSystemObject\")
Set objFolder = objFS.GetFolder(Server.MapPath(ImageDir))
Set fso_files = objFolder.Files %>
Avatar billede eagleeye Praktikant
06. september 2001 - 17:54 #9
Jeg ved godt du siger du ikke har lavet stave fejl men for den SELECTED fil kommer <option> til at se sådan ud:
<option value=image3.jpgselected>image3.jpg</option>

Derfor ret denne response.write file.name til:
response.write \"\'\" & file.name & \"\'\"

Det er altid en god ide at huske \'\'.
Eller du kan rette response.write \"selected\" til:
response.write \" selected\"
Så der er et mellemrum mellem value=\'image3.jpg\' selected.
Avatar billede eagleeye Praktikant
09. september 2001 - 13:20 #10
Har du fået prøvet nogle at løsningerne?
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