Det låter tokigt, men det är vad jag skulle vilja åstakomma. Nu får du allt förklara dig lite... Inte skall den behövas submittas två gånger... :) Kan du visa vad det är som inte "tar"? :) Aha... jag vet... Du väljer språk, submittar, ASP koden fångar upp men det som väljer språk reagerar före, och för att ändra det som presenteras på sidan så måste du submitta igen!? Inte riktigt, men du förstod mitt problem. Detta kanske hjälper? Hej Andreas. <code> Denna kod funkar utmärkt hos mig: Tack Andreas, men tyvärr, det kommer ett snäpp efter hela tiden (det fungerar om man öppnar enbart den filen, men så är det inte tänkt.Submitta två gånger!
<code>
<script language="vbscript">
sub submitthis
form1.submit
end sub
</script>
<%
Response.Cookies("Språk")("Land") = request.form("sprak")
'Response.redirect"test.asp"
%>
<form ACTION="Test.asp" METHOD="POST" NAME="form1">
<select ONCHANGE="submitthis" SIZE="1" NAME="sprak"
<SELECT Name="sprak" Value"sprak">
<OPTION Value="0"> Välj språk
<OPTION Value="sv"> Svenska
<OPTION Value="en"> Engelska
<OPTION Value="de"> Tyska
</Select>
</form>
</code>
Orsak:
Första gången så sätter jag en ny coockie, andra gången så reagera scriptet (en annan fil).
Går det?Sv: Submitta två gånger!
Sv: Submitta två gånger!
Kolla i vilken ordning du har valt att skriva koden. Annars om det inte funkar får du skicka med en variabel som du fångar mha querystring exempelvis, när du sedan läst in värdena, så kör du en response.redirect till samma sida men utan variabeln...
Fattar nån vad jag försöker säga?
...;)Sv: Submitta två gånger!
Jag skall fundera på ditt svar lite.
[REDIGERAT]
Det ser ju ut så här:
<code>
<% response.buffer = true %>
<script language="vbscript">
sub submitthis
form1.submit
end sub
</script>
<%
dim sprak
Response.Cookies("Språk")("Land") = request.form("sprak")
sprak = request.cookies("språk")("land")
'server.execute "test.asp"
'response.redirect "test.asp"
%>
<form ACTION="Test.asp" METHOD="POST" NAME="form1">
<select ONCHANGE="submitthis" SIZE="1" NAME="sprak"
<SELECT Name="sprak" Value"sprak">
<OPTION Value="0"> Välj språk
<OPTION Value="sv"> Svenska
<OPTION Value="en"> Engelska
<OPTION Value="de"> Tyska
</Select>
</form>
</code>
Jag har försökt med både 'server.execute (som gör att sidan upprepar sig själv massor med gånger och 'response.redirect som gör att sidan bara står och laddar.
Ingenting fungerar av detta.
När jag nu har tittat på dit förslag, måste jag erkänna jag förstär inte...Sv: Submitta två gånger!
<code>
<% response.buffer = true %>
<script language="vbscript">
sub submitthis
form1.submit
end sub
</script>
<%
dim sprak
sprak = request.form("sprak")
If Len(sprak) Then
Response.Cookies("Språk")("Land") = request.form("sprak")
Else
sprak = request.cookies("språk")("land")
End If
'server.execute "test.asp"
'response.redirect "test.asp"
%>
<form ACTION="" METHOD="POST" NAME="form1">
<select ONCHANGE="submitthis" SIZE="1" NAME="sprak"
<SELECT Name="sprak" Value"sprak">
<OPTION Value="0"> Välj språk
<OPTION Value="sv" <%If sprak = "sv" Then Response.Write "selected"%>> Svenska
<OPTION Value="en" <%If sprak = "en" Then Response.Write "selected"%>> Engelska
<OPTION Value="de" <%If sprak = "de" Then Response.Write "selected"%>> Tyska
</Select>
<noscript>
<input type="submit" value="Uppdatera">
</noscript>
</form>
</code>Sv: Submitta två gånger!
Tanken på ditt förlag är ju kanon, men det hjälpte föga.
Det kommer "ett steg efter" i alla fall.
T ex:
Klickar jag på engelsk, så händer ingenting. Klickar jag därefter på Tyska, så blir det engelska. Klickar jag sedan på svenska, då kommer tyskan.
Några andra smarta ideer?Sv: Submitta två gånger!
<% response.buffer = true %>
<script language="vbscript">
function submitthis()
{
document.form1.submit();
}
</script>
<%
dim sprak
sprak = request.cookies("språk")("land")
If Len(request.form("sprak")) Then
sprak = request.form("sprak")
Response.Cookies("Språk")("Land") = sprak
End If
'server.execute "test.asp"
'response.redirect "test.asp"
%>
<form ACTION="" METHOD="POST" NAME="form1">
<select ONCHANGE="submitthis" SIZE="1" NAME="sprak"
<SELECT Name="sprak" Value"sprak">
<OPTION Value="0"> Välj språk
<OPTION Value="sv" <%If sprak = "sv" Then Response.Write "selected"%>> Svenska
<OPTION Value="en" <%If sprak = "en" Then Response.Write "selected"%>> Engelska
<OPTION Value="de" <%If sprak = "de" Then Response.Write "selected"%>> Tyska
</Select>
<noscript>
<input type="submit" value="Uppdatera">
</noscript>
</form>
</code>Sv: Submitta två gånger!
<code>
<%Response.Buffer = true%>
<HTML>
<BODY>
<%
Dim sprak
sprak = request.form("sprak")
If Len(sprak) Then
Response.Cookies("Språk")("Land") = request.form("sprak")
Else
sprak = request.cookies("språk")("land")
End If
%>
<FORM ACTION="" METHOD="POST" NAME="form1">
<SELECT onchange="javascript:document.form1.submit();" size="1" name="sprak">
<OPTION Value="0"> Välj språk</OPTION>
<OPTION Value="sv" <%If sprak = "sv" Then Response.Write "selected"%>>Svenska</OPTION>
<OPTION Value="en" <%If sprak = "en" Then Response.Write "selected"%>>Engelska</OPTION>
<OPTION Value="de" <%If sprak = "de" Then Response.Write "selected"%>>Tyska</OPTION>
</Select>
<NOSCRIPT>
<INPUT type="submit" value="Uppdatera">
</NOSCRIPT>
</FORM>
<BR>
<B>Aktuellt språk: </B><%=sprak%>
</BODY>
</HTML>
</code>
Om du lägre ner på sidan behöver identifiera språk skall du använda sprak variabeln istället för request.cookies("språk")("land"). KAn var det som strular.Sv: Submitta två gånger!
Det är så här att den filen är åckså en include fil, och det är väll det som gör att det blir galet.
<code>
<script language="vbscript">
sub submitthis
form1.submit
end sub
</script>
<%
'Response.Write "String: " & Request.QueryString & "<br>"
'Response.Write "Form: " & Request.Form & "<br>"
%>
<% IF REQUEST.FORM("sprak") = "sv" THEN
Response.Cookies("Språk")("Land") = "sv"
%>
<!--#INCLUDE FILE="sv_test.asp"-->
<% ELSEIF REQUEST.FORM("sprak") = "en" THEN
Response.Cookies("Språk")("Land") = "en"
%>
<!--#INCLUDE FILE="en_test.asp"-->
<% ELSEIF REQUEST.FORM("sprak") = "de" THEN
Response.Cookies("Språk")("Land") = "de"
%>
<!--#INCLUDE FILE="de_test.asp"-->
<% END IF %>
<form ACTION="Test.asp" METHOD="POST" NAME="form1">
<select ONCHANGE="submitthis" SIZE="1" NAME="sprak"
<SELECT Name="sprak" Value"sprak">
<OPTION Value="0"> Välj språk
<OPTION Value="sv"> Svenska
<OPTION Value="en"> Engelska
<OPTION Value="de"> Tyska
</Select>
</form>
</code>
Detta fungerar därimot. Varför jag ville ändra på det är att denna koden skall genereras av ett vb-project, som skall känna av hur många språkfiler det finns.
Jag får grunna på det.
Men detta gör att jag har ett problem till:
Jag har en texfil som ser ut så här:
<code>
AF = AFGHANISTAN
AL = ALBANIA
DZ = ALGERIA
AS = AMERICAN SAMOA
</code>
I min option så är det ju inlagt två bokstäver ifrån första raden. Hur skall jag enklast få fram landsnamnet och dynamiskt skriva in det i option??
<code>
<OPTION Value="en"> Engelska <--- detta menar jag.
</code>
Jag är jättetacksam att ni försöker att hjälpa mig.