Jeppe skrev:
> Typisk er det vel en boks der afhænger af en anden.
.... nej - ovenstående skrev jeg. Citater skal markeres med en ">"
foran hver citatlinje. Citerer man et citat kommer der endnu en ">"
i front - på den måde kan man med antallet af ">"-er se hvem der
har skrevet citatet (eller i hvert fald se hvor mange niveauer man
skal tilbage for at finde forfatteren). Du skal indstille dit
program så det indsætter ">" foran citater. Hvis du ikke selv kan
finde indstillingen kan du få hjælp i <news:dk.velkommen> eller
<news:dk.edb.internet.software.mail+news.outlook-express>.
(til gengæld er det godt at du er begyndt at svare nedenunder
citaterne).
> Jeg har denne kode. Hvordan opdaterer jeg siden og henter den
> værdi der ligger i min drop down boks?
Først og fremmest mangler du en <form>-kode. Uden den kan du ikke
få siden til at gøre noget som helst. Prøv med følgende:
<form action="select.asp">
(her er select.asp navnet på den fil du arbejder med). Formkoden
skal afsluttes med et </form> - men det skal først være efter de
elementer som hører til formen. Form-elementer er <input...> [1],
textarea og select. Din select-kode skal altså være inden i
<form>...</form>.
> Do
> %>
> <option selected ="selected">
Lige nu sætter du samtlige poster som selected. Det er vist ikke
meningen.
I første ombæring skal du bare skrive selectlisten ud - så der
behøver du slet ikke have nogen selected="selected". Men hvis du
skal aflæse en værdi i feltet, så skal du lægge en if-betingelse
ind, således at kun den værdi der er valgt også bliver markeret.
Når du submitter formen sender den indholdet af felterne til siden
man har valgt under <form action="sidenavn.her">. Du skal her vælge
det samme navn som selve filen her - altså at formen sender data
til sig selv. Med denne formular vil siden komme til at hedde
"select.asp?rating=Blablabla". Alle felter i formen står efter
spørgsmålstegnet, og de værdier de er tildelt står efter feltnavnet
og et lighedstegn. Du kan få fat i værdierne ved at bruge
Request.Querystring("feltnavn").
For at gøre en kort historie lang skal du øverst i dit dokument
tilføje:
' Erklær en variabel til den valgte værdi
Dim valgtRating
' Læg den valgte værdi over i variablen
valgtRating = Request.Querystring("rating")
Nede i din løkke bruger du så variablen valgtRating til at
undersøge om databaseværdien passer med den værdi du har i
variablen:
<option<% If rs("Tittel") = valgtRating Then %>
selected="selected"<% End If %>>
<%Response.Write
> rs("Tittel")%></option>
> ' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
> Loop While Not rs.EOF
Du bør sætte løkkebetingelse (while not rs.EOF) op øverst - efter
"Do". Hvis du af en eller anden årsag får et tomt postsæt vil din
nuværende løkke først "opdage" det når løkken er kørt en gang
igennem - og det vil give en fejl, fordi du ikke kan hente værdier
fra et tomt postsæt.
I stedet for
DO
' ting og sager
Loop While Not rs.EOF
Skal du derfor skrive:
Do While Not rs.EOF
' ting og sager
Loop
eller bare:
While Not rs.EOF
' gør ting og sager
Wend
> </select>
Her skal du så have en submitknap (se en formtutorial) - og
formentlig også din anden selectboks. Men start lige med at få det
til at virke med den første...
Noter:
======
[1] <input> findes i mange varianter - se mere fx på
<
http://www.html.dk/artikler/00011/>
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO -
www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.