erkaMedlem sedan dec. 19996 522 inlägg 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 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 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 Hmm ingen som har försökt göra något liknande...**sliter hår**
AGMedlem sedan mars 20001 266 inlägg 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 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 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 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 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 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 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 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