06. september 2001 - 09:57Der 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.
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_\"
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...
<% 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 :)
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...
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 %>
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.
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.