webForumDet fria alternativet
Logga in / Bli medlem

Variabler via submit-knapp

ASP

7 svar · 260 visningar · startad av Karlsson

Medlem sedan maj 2000252 inlägg
Trådstart#1

Hejsan!
Jag försöker få med mig två variabler från en form-action historia. Ser dock att ingen av variablerna kommer med. Använder det för att senare kunna redirecta till gästboken och där ha rätt språk från början... nån som kan komma med tips?

 <form name="form1" method="post" action="adda_gastbok.asp?lang="se"&hotell="<%Request.QueryString("hotell")%>" style="margin-bottom: 0px;">

Och sen är det problem också i redirecten...

Response.Redirect("gastbok999.asp?lang=<%Request.QueryString('lang')%>&hotell=<%Request.QueryString('hotell')%>")

Tacksam för svar, Micke K

Medlem sedan juli 20033 147 inlägg
#2

Re: Variabler via submit-knapp

<form name="form1" method="post" action="adda_gastbok.asp" style="margin-bottom: 0px;">
<input type="hidden" name="lang" value="se">
<input type="hidden" name="hotell" value="<%=Request.Querystring("hotell")%>">

Och...

Response.Redirect("gastbok999.asp?lang=" & Request.Form("lang") & "hotell=" & Request.Form("hotell") & "")

Dock länge sen jag sysslade med ASP men jag tror det är så man skriver ;)

Du kan inte ha lang="se" i en querystring sådär, om du skrivit så, så skulle lang=se vara rätt.
Samma gäller i redirecten, du kan inte öppna upp nya <% %> taggar mitt i koden.

/r det går självklart att göra som tydal skriver, genom att lägga värdena direkt i formuläret, dock skulle jag rekommendera hiddenfält, eftersom du slipper hämta saker med både Request.Querystring och Request.Form. Du får bättre struktur på det hela, imo, om du använder hidden-fält.

Medlem sedan juni 20034 013 inlägg
#3

I första fallet är det citationstecknet som är problemet. Du har skrivit att action="adda_gastbok.asp?lang="

Ta bort citationstecknen där så blir det bättre. Likaså ska citationstecknet efter hotell= bort.

I andra fallet försöker du gå in asp-läge när du redan är där. Som du vet skriver man ju asp-kod i samma fil som html, men man växlar från html-läge till asp med <% och från asp-läge till html med %>. I ditt fall är du redan i asp-läge och kan därför inte använda <% igen. Istället får du avsluta strängen och addera resten, så här:

"gastbok999.asp?lang=" & Request.QueryString("lang") & "&hotell=" & Request.QueryString("hotell")

Medlem sedan maj 2000252 inlägg
#4

Ni är då bara för gulliga!

action="adda_gastbok.asp?lang=de&hotell=<%Request.QueryString("hotell")%>"

Ser nu att variabeln hotell är tom, i URL:en finns den med men inte när jag visar källkoden...
Vad kan det nu va för spökerier månntro?

Medlem sedan juli 20033 147 inlägg
#5
<%=Request.Querystring("hotell")%>

Du måste ha ett =-tecken för att den ska skriva ut någonting. :)

Medlem sedan maj 2000252 inlägg
#6

Jag är naturligtvis en mupp, skyller på tröttheten.... :-)
Nu funkar det, tack för all hjälp!

/Micke K

Medlem sedan juli 20033 147 inlägg
#7

Acceptera gärna inlägget som löst. :)

Medlem sedan maj 2000252 inlägg
#8

You bet!

268 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)