Chrisser wrote:
> Torben Brandt wrote:
>
>>Du skal bare bruge Server.UrlEncode og Request.QueryString.
>>Eksempel (kald den test.asp):
>>
>> <%
>> ' Vi henter fra querystrengen:
>> Response.Write Request.QueryString("noget")
>>
>> ' Den variabel vi vil overføre til en anden side:
>> var = "dig&mig+de andre"
>> %>
>>
>> <a href="test.asp?noget=<%= Server.UrlEncode(var) %>">link</a>
>
>
> Ja jo, det løser desværre ikke helt mit problem, jeg prøver lige igen og
> håber at jeg er lidt bedre til at formulere mig idag
>
> Jeg har et antal muligheder i en selectboks som er en del af en form. Når
> jeg vælger en af disse muligheder bruger jeg eventen onchange til at kalde
> et JavaScript som kalder en side med den valgte option som en del af
> QueryString. Denne variabel skal hives ud via ASP.
> Derudover skal min form submittes og gemmes ned i en database - dette sker
> ikke på samme tidspunkt, men det forhindrer mig i at Server.UrlEncode
> værdierne i selectboksen da de så vil blive gemt ned i min database med
> '%2E' i stedet for '.' ( svjh ) osv.
>
> Problem:
> Jeg kan ikke få '+' ( og hvem ved hvilker andre tegn jeg heller ikke kan få
> med over... ) ordenligt igennem ved at escape i JavaScriptet, og jeg kan
> ikke på asp siden decode min variabel før jeg putter den i databasen. Eller
> hvad ?
>
> Øh, og nu kan det jo være at det her går hen og bliver clientside, men da
> jeg helst vil finde en løsning i asp bliver jeg her indtil videre...
Ja, løsningen bliver sådan set clientside, for du laver dine selectbokse
som du normalt ville gøre, så de fungerer ved submit af formen.
Når du så skal overføre dem til querystrengen, så skal du bare bruge
JavaScript-funktionen escape - som virker på samme måde som
Server.UrlEncode.
Jeg har lavet et lille eksempel, og håber at jeg denne gang ramte bedre
plet, ellers må du jo spørge igen :)
Nedenstående gemmes som test.asp:
---------------------------------
Værdi af select1 i QueryString: <%= Request.QueryString("select1") %><br>
Værdi af select1 i Form: <%= Request.Form("select1") %><br>
Værdi af select2 i Form: <%= Request.Form("select2") %><br>
<br>
<form action="test.asp" method="post">
<select name="select1"
onChange="location.href='test.asp?select1='+escape(this.options[this.selectedIndex].value);">
<option value="<%= Request.QueryString("select1") %>"><%=
Request.QueryString("select1") %></option>
<option value="frugt & grønt">Frugt & Grønt</option>
<option value="mad">Mad</option>
</select>
<%
If Request.QueryString("select1") = "frugt & grønt" Then
%>
<select name="select2">
<option value=""> </option>
<option value="æble">Æble</option>
<option value="pære">Pære</option>
</select>
<%
ElseIf Request.QueryString("select1") = "mad" Then
%>
<select name="select2">
<option value=""> </option>
<option value="rødgrød med fløde">Rødgrød med fløde</option>
<option value="flæskesteg">Flæskesteg</option>
</select>
<%
End If
%>
<br>
<input type="submit">
</form>
---------------------------------
mvh Torben