webForumDet fria alternativet

Får inte med värdet i urlen ?

JavaScript

9 svar · 272 visningar · startad av Pellefant

Medlem sedan maj 20023 372 inlägg
Frågan#1

Hej!

Varför kommer inte variabelvärdet med i urlen?

Nu ser det ut såhär: search.asp?variable=

(Drop down meny)

*River mitt hår*

<select name="cat" onchange="document.location.href='search.asp?variable=' + this.options[this.selectedIndex].value;">

 <option selected><%=Recset("Category")%></option>
<% Do until RecSet.EOF 	%>
<option><%=Recset("Category")%></option>
<%Recset.movenext
loop  %>
</select>
Medlem sedan juni 200032 967 inlägg
#2
<option [b]value="<%=Recset("Category")%>"[/b]><%=Recset("Category")%></option>
Medlem sedan maj 20023 372 inlägg
#3

Tack, nu funkar det.

Följdfråga, om jag istället vill posta variabelvärdet som ett formulär istället som jag kan plocka upp med Request.Form, hur skriver man om det då? (jag får "%20" för mellanrum i querystringen)

<option value="">Choose Category</option>
<% Do until RecSet.EOF 	%>
<option value="<%=Recset("Category")%>"><%=Recset("Category")%></option>
<%Recset.movenext
loop  %>
</select>
Medlem sedan juni 200032 967 inlägg
#4

Sätt action i <form>-taggen som vanligt dit du vill posta, och lägg submit i onchange.

<select name="cat" onchange="document.forms[0].submit();">

Du kan gott byta forms[0] till formulärets namn.

mvh

Medlem sedan maj 200010 687 inlägg
#5

Det går också att hoppa över value och använda sig av text.

this.options[this.selectedIndex].text
Medlem sedan maj 20023 372 inlägg
#6

Hej!

Hur menar du med "lägg submit i onchange" ? (jag vill inte ha någon submitknapp)

Nu ser det ut såhär.(inte klart ännu). Finessen är så att säga att när man valt i menyn så laddas sidan om automatiskt.

<FORM METHOD="POST" ACTION="search.asp" onchange="document.location.href='search.asp?variable=' + this.options[this.selectedIndex].value;">

<select name="cat">
<option value="">Choose Category</option>
<% Do until RecSet.EOF 	%>
<option value="<%=Recset("Category")%>"><%=Recset("Category")%></option>
<%Recset.movenext
loop  %>
</select>

</FORM>
Medlem sedan juni 200032 967 inlägg
#7

Pellefant skrev:

Hur menar du med "lägg submit i onchange" ? (jag vill inte ha någon submitknapp)

Ta bort onchange ur <form>-taggen, det jag menade var "ändra onchange i din <select>, så formuläret postas istället." Använd koden från mitt förra inlägg.

mvh

Medlem sedan maj 20023 372 inlägg
#8

Tackar, fick det att funka nu(har iofs inte testat att ta emot variabeln än, men det ska nog gå bra.

Fungerande kod:

<FORM METHOD="POST" ACTION="search.asp" >

<select name="cat" onchange="document.location.href='search.asp?variable=' + this.options[this.selectedIndex].text;">
<option value="">Choose Category</option>
<% Do until RecSet.EOF 	%>
<option value="<%=Recset("Category")%>"><%=Recset("Category")%></option>
<%Recset.movenext
loop  %>
</select>

</FORM>
Medlem sedan juni 200032 967 inlägg
#9

Nu skickar du ju med querystring i alla fall, istället för post, som jag trodde att du ville?

Medlem sedan maj 20023 372 inlägg
#10

Så sant, jag lyckades gå hela cirkeln runt och få det till ungefär samma kod som i början av tråden.

*HAHA* Nej, jag pratar,skriver bara i nattmössan, dags att gå och läggs sig tror jag bestämt.

Godnatt alla!

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)