Avatar billede hugopedersen Nybegynder
15. maj 2003 - 11:02 Der er 22 kommentarer og
2 løsninger

Hvordan fastholder jeg valgte item i en combobox

Jeg har følgende script

<%@Language=VBScript%>

<%Response.Expires = -1
Response.Buffer = True %>

<html>
<head><title>Counter statistics for Jamo intranet sites</title></head>
<body bgcolor="#E6E6DF">
<font face=verdana>
<h3><img border="0" src="../images/jamologo.gif"></h3>
<font size="2">Select which intranet site you want to see the statistics for.
</font>
<Form name=frmMain method=post action=Default.asp>
<p>
<font size="2">Sitename:</font>
<SELECT name=cboPages width=15>
<%
'The following code retrieves the site-names in the tblCounters table from the Counters.mdb database,
'and displays the names in a listbox.
dim objConn                    'ADO Connection object
dim objRS                    'ADO Recordset object
dim strConnectString                'database connection string
dim ctr                        'counter variable
dim strTemp

'NOTE: you must have Access 2000 or the equivalent driver installed for this sample to work
strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data "
strConnectString = strConnectString & "Source=" &  Server.MapPath("\webdata/counters.mdb")
strConnectString = strConnectString & ";Persist Security Info=False"

set objConn = server.CreateObject("ADODB.Connection")
set objRS = server.CreateObject ("ADODB.Recordset")

objConn.ConnectionString = strConnectString
objConn.Open
'Retrieve an recordset
objRS.Open "SELECT fldPage FROM tblCounters GROUP BY fldPage ORDER BY fldPage;", objConn

'Display site names in the drop down box.
ctr = 0
Do While Not objRs.EOF
    strTemp = Replace(objRS("fldPage").Value, " ", "-")
'    Response.Write "<option  value=" & objRS("fldPage").Value & ">"
    Response.Write "<option  value=" & strTemp & ">"
    Response.Write objRS("fldPage").Value 
    Response.Write "</option>"
    ctr = ctr + 1
    objRs.MoveNext
Loop

objRS.Close
objConn.Close
set objConn = nothing
set objRS = nothing
%>
</SELECT>&nbsp;&nbsp; <INPUT type=submit name=cmdSubmit value="Show Chart">
</p>
</Form>
<%
'If user has press the &quot;Show Chart&quot; button then display chart
if Request.Form ("cmdSubmit") = "Show Chart" then
    'Pass a query string to the MakeChart.asp
        'The MakeChart.asp will generate a chart based on the user selected site
    Response.Write "<center><img width=800 height=450 src=MakeChart.asp?"
    Response.Write "PageToView=" & Request.Form ("cboPages")
    Response.Write "></center>"   
else
    Response.Write "<center><img width=800 height=450 src=MakeChart.asp?"
    Response.Write "PageToView=JamoSales"
    Response.Write "></center>"   
end if
%>
</font>
</body>
</html>

Det læser nogle data fra en tabel og indsætter dem som items i en combobox. Så langt virker alt fint nok. Men når jeg så vælger et punkt og trykker på knappen ryger den tilbage til det første punkt på listen. Her ville jeg gerne kunne fastholde det punkt der er valgt, så det er det der vises når brugern får vist de data der er valgt.

Håber det er forståeligt.

PS. jeg er IKKE nogen ørn til ASP, men jeg håber at kunne lære det med tiden.
Avatar billede shylle Nybegynder
15. maj 2003 - 15:41 #1
Prøv med:

    Response.Write "<option  value=" & strTemp & ">"
if instr("#" & strTemp & "#", "#" &Request("cboPages") & "#") > 0 Then
    Response.write " selected"
End if
    Response.write ">"
    Response.Write objRS("fldPage").Value 
    Response.Write "</option>"
Avatar billede ellebaek Nybegynder
15. maj 2003 - 23:30 #2
Response.Write "<option  value=" & strTemp
if instr("#" & strTemp & "#", "#" &Request("cboPages") & "#") > 0 Then
    Response.write " selected"
End if
    Response.write ">"
    Response.Write objRS("fldPage").Value 
    Response.Write "</option>"
Avatar billede shylle Nybegynder
16. maj 2003 - 15:13 #3
godt set :-)
Avatar billede hugopedersen Nybegynder
19. maj 2003 - 07:20 #4
Så har jeg endelig fået besked om disse indlæg ( vores extranet mailserver har været død her i weekenden )

Jeg synes lige at ellebaek skal smide et svar også, så må i deles lidt om points.
Avatar billede ellebaek Nybegynder
19. maj 2003 - 10:11 #5
svar
Avatar billede hugopedersen Nybegynder
19. maj 2003 - 10:15 #6
Lidt flere til shylle for at være først :-)
Avatar billede hugopedersen Nybegynder
19. maj 2003 - 10:20 #7
Som I kan se ud af koden, har jeg en knap der skal trykkes på for at opdatere - kan man ikke lave det sådan at der sker noget når comboboxen skifter indhold (som man kan i Access)

Nå det var vel egentlig et ekstra spørgsmål!
Avatar billede ellebaek Nybegynder
19. maj 2003 - 10:21 #8
er ikke sikker på jeg forstår..

Vil du have siden til selv at updatere hvis der kommer nyt indhold i kombobox eller ??
Avatar billede hugopedersen Nybegynder
19. maj 2003 - 10:44 #9
Jeg ville gerne at hvis brugeren vælger noget i comboboxen, så der det automatisk det som der sker når der trykkes på knappen (der vises en ny graf)
Avatar billede ellebaek Nybegynder
19. maj 2003 - 10:51 #10
<select name="list" size="1" class="verysmallform" style="width:108px" onChange="top.location.href=this.form.list.options[this.form.list.selectedIndex].value">

Sæt denne ind i stedet for det der står i begyndelsen af din form nu, så sætter du bare value på hver enkelt option til den side siden skal gå til...
Avatar billede hugopedersen Nybegynder
19. maj 2003 - 10:58 #11
Se nu er det så jeg siger 'hvad f..... er det manden snakker om her'  :-)

Jeg er stået af her så det bliver nok først engang når jeg bliver god til ASP at jeg får det lavet.
Avatar billede ellebaek Nybegynder
19. maj 2003 - 11:07 #12
Det jeg skrev i forrige kommentar er et javascript der åbner den valgte side i det aktuelle vindue.

Den tager værdien af det valgte element i formen og eksekvere det som et link...
Avatar billede hugopedersen Nybegynder
19. maj 2003 - 11:16 #13
Er det muligt at jeg kan maile dig min fil og så du vil sætte det ind på rette sted?

Jeg opretter selvfølgelig et nyt spørgsmål med ekstra points i så fald.
Avatar billede ellebaek Nybegynder
19. maj 2003 - 11:25 #14
Du sender bare:

jens@mail.zix.dk
Avatar billede ellebaek Nybegynder
19. maj 2003 - 12:23 #15
Virker det kode der er i default.asp ´på din computer ??

For jeg får fejl hver gang jeg prøver..
Avatar billede hugopedersen Nybegynder
19. maj 2003 - 12:26 #16
Ja det fungerer fint - kan det være directory struktur ?
Avatar billede hugopedersen Nybegynder
19. maj 2003 - 12:29 #17
wwwroot  -  webdata        database
            stats          .asp filer
Avatar billede ellebaek Nybegynder
19. maj 2003 - 12:31 #18
Tror jeg ikke, jeg har rettet i dem, så de burde virke, men jeg får at vide at den gruppering jeg bruger er ugyldig, men jeg har slettet group by i din sql, så jeg ved ikke helt hvad det er der er galt...
Avatar billede hugopedersen Nybegynder
19. maj 2003 - 12:34 #19
Ingen anelse om hvad det kan være. Hvorfor vil du ingen GROUP BY have ?
Avatar billede ellebaek Nybegynder
19. maj 2003 - 14:18 #20
det er ikke mig der ikke vil have den, det er min sql der siger den ikke må være der...

Kan godt være min webserver der ikke kan håndtere det..
Avatar billede hugopedersen Nybegynder
19. maj 2003 - 14:29 #21
Det kan da godt være - jeg bruger Windows 2000 Proff. på min arbejdsstation og Windows 2000 server på selve webserveren.
Avatar billede ellebaek Nybegynder
19. maj 2003 - 14:46 #22
det er nok det, så kører du jo IIS (jeg kører PWS)

Så jeg kan nok ikke rigtig hjælpe dig med det, men prøv:
<SELECT name=cboPages width=15  onChange="top.location.href=this.form.cboPages.options[this.form.cboList.selectedIndex].value"> i stedet for det der står i din select nu...
Avatar billede hugopedersen Nybegynder
19. maj 2003 - 15:05 #23
PWS og IIS burde da være det samme ( de kommer da fra M$ begge 2 )

Jeg kigger på det i morgen.
Avatar billede ellebaek Nybegynder
19. maj 2003 - 15:14 #24
der er mange flere features i IIS...

PWS er den skrabede udgave. i IIS er der fx. smtp server
Men ved ikke om det er derfor. Bare et gæt!
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