webForumDet fria alternativet

Asp och drop down meny

12 svar · 217 visningar · startad av erka

erkaMedlem sedan dec. 19996 522 inlägg
#1

Jag håller på och gör en sök sida där man ska kunna välja mellan 2 saker i en drop down meny...

Här är koden för drowdown menyn
<select name="meny">
<option selected>Ingredienser</option>
<option>Drinknamn</option>
</select>

jag har ett textfält som heter sokning där man ska skriva in vad ska söka efter i något av 2 ovan områden.

Jag får det att fungera med checkbox men vill ha en dropdownmeny...Hur hämtar jag det värde i dropdownmenyn till att lista matchande svar?

Det är detta jag har problem med..

<%If Request.Form("option") = "ingredienser" Then

Tror inte det är rätt att skriva så, vad ska jag skriva för att hämta värdet i select menyn ?????

MYCKET TACKSAM !

emissionMedlem sedan dec. 19996 721 inlägg
#2

droppen ska se ut så här:

<select name="meny">
<option value="Ingredienser" selected>Ingredienser</option>
<option value="Drinknamn">Drinknamn</option>
</select>

...och värdet hämtar du med:

Request.Form("meny")

erkaMedlem sedan dec. 19996 522 inlägg
#3

Tack det funkade...jag hade prövat det innan men missat stora bokstäver..Tack ! nu fungerar inte min if sats om textfieldet är tomt

<% If Request.Form("sokning") = "" then %>
Du skrev inte i ditt namn, gå tillbaka och gör det.
<% End If %>

textfieldet heter sokning

erkaMedlem sedan dec. 19996 522 inlägg
#4

Hmm ingen som har försökt göra något liknande...**sliter hår**

AGMedlem sedan mars 20001 266 inlägg
#5

Om det är en databas du har kan du ju kolla ifall tex rs är eof:

<%
If rs.eof then
response.write ("Du skrev inte i ditt namn, gå tillbaka och gör det.")
%>

Sen skriver du ut det andra
<% do until rs.eof %>
Vad det nu är som händer
<%
rs.movenext
loop
end if
%>

Förutsätter ju att recordsetet heter rs.

Andreas

Läste igenom igen och kom på att jag svarde på fel.
Testa detta istället:

<%
sokning = Request.Form("sokning") 
if sokning = "" then
response.write ("Du skrev inte i ditt namn, gå tillbaka och gör det.")
else
'Övrig kod som bör inträffa
end if
%>

[Redigerat av AG den 15 aug 2000]

erkaMedlem sedan dec. 19996 522 inlägg
#6

Skrev det så här...

kanske krånglig läsning..

<%
sokning = Request.Form("sok") 
if sokning = "" then
response.write("Du skrev inte i ditt namn, gå tillbaka och gör det.")
end if
%>

<% If Request.Form("meny") = "Ingredienser" Then
SQL = "SELECT * From drinkar WHERE ing LIKE '%" & Request.Form("sokning")& "%'"
Set RS = Connect.Execute(SQL)
%><b> Resultatet av din sökning:<br><br></b> <%Do Until rs.eof %> <a href="drink.asp?typ=<%=Server.URLEncode(rs("namn"))%>"><%=rs("namn")%></a><br> 
<%=RS("ing")%><br><br> <%
rs.movenext
loop
rs.close%> <a href="baren.asp" target="main">Tillbaka</a> <%End If%>

Nu listar han upp först response.write texten och sedan det andra..hur gör man för att stoppa den efter response.write ???

ännu mer tacksam

[Redigerat av erka den 15 aug 2000]

AGMedlem sedan mars 20001 266 inlägg
#7

Testa detta:

<%
sokning = Request.Form("sok") 
if sokning = "" then
response.write("Du skrev inte i ditt namn, gå tillbaka och gör det.")
else
%>
SQL = "SELECT * From drinkar WHERE ing LIKE '%" & Request.Form("sokning")& "%'"
Set RS = Connect.Execute(SQL)
%><b> Resultatet av din sökning:<br><br></b> <%Do Until rs.eof %> <a href="drink.asp?typ=<%=Server.URLEncode(rs("namn"))%>"><%=rs("namn")%></a><br> 
<%=RS("ing")%><br><br> <%
rs.movenext
loop
rs.close%> <a href="baren.asp" target="main">Tillbaka</a> <%End If%>

Hur resulterar denna kod?

Andreas

erkaMedlem sedan dec. 19996 522 inlägg
#8

Hmm det gav resultatet att den hela tidne kom till att du har skrivit in rätt namn..

all kod ser ut så här...har två val ifrån dropdown menyn innan

<%@ LANGUAGE=VBScript %>
<%
Dim Connect, conntemp, DSNtemp
Dim rs

Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("data/drinkar.mdb")
Connect.Open DSNtemp
%>

<% If Request.Form("meny") = "Ingredienser" Then
SQL = "SELECT * From drinkar WHERE ing LIKE '%" & Request.Form("sokning")& "%'"
Set RS = Connect.Execute(SQL)
%>
Resultatet av din ökning:<br>
<%Do Until rs.eof %> 
<a href="drink.asp?typ=<%=Server.URLEncode(rs("namn"))%>">
<%=rs("namn")%></a><br> 
<%=RS("ing")%><br><br> <%
rs.movenext
loop
rs.close%> 
<a href="baren.asp" target="main">Tillbaka</a> 
<%End If%> 

<% If Request.Form("meny") = "Drinknamn" Then
SQL = "SELECT * From drinkar WHERE namn LIKE '%" & Request.Form("sokning")& "%'"
Set RS = Connect.Execute(SQL)
%>

Resultatet av din sökning:<br><%Do Until rs.eof %> <a href="drink.asp?typ=<%=Server.URLEncode(rs("namn"))%>">
<%=rs("namn")%></a><br> 
<%=RS("ing")%><br><br> 
<%
rs.movenext
loop
rs.close%> 
<a href="baren.asp" target="main">Tillbaka</a><%End If%>

Nu får jag alla drinkar i databasen om jag inte skriver in något..aja, kanske inte någe att göra...får kanske läsa på mer om if sattser..tack ändå !

erkaMedlem sedan dec. 19996 522 inlägg
#9

Hmm ingen som kan detta ? har läst på och prövat många olika saker, inget fungerar..vad gör man för fel ?

JohnsenMedlem sedan juli 2000836 inlägg
#10

Prova detta:

<%
if len(trim(Request.Form("sokning"))) > 0 then
%>

'Hela din kod som du skrev den... 

<%Else%>
Du skrev inte i ditt namn, gå tillbaka och gör det.
<br>
<a href="baren.asp" target="main">Tillbaka</a><%End If%>
erkaMedlem sedan dec. 19996 522 inlägg
#11

Ja det fungerar, jag tog en response.redirect istället för att skriva ut något men det fungerar bra ! Tack så mycket, vad EXAKT betyder det du skrev överst...

<%
if len(trim(Request.Form("sokning"))) > 0 then
%>
ZaphodMedlem sedan maj 2000107 inlägg
#12

Där "kollar asp" ifall det är något i variabeln. Trim gör så att alla mellanslag före första och efter sista bokstaven försvinner, så att användare inte bara kan skriva ett mellanslag.

------------------
/Magnus aka Zaphod
www.designmodule.com

erkaMedlem sedan dec. 19996 522 inlägg
#13

tackar !

136 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)