Har ett formulär för att byta stilmallar som sparas mha cookies, funkar bra så långt, men om man går in på en sida igen som har likadant formulär, så verkar kakan byta värde till inget.
Hur skall jag göra för att den skall hålla sig kvar?
<%
Response.Buffer = True
If Request.Form("size") <> "" Then
Response.kaka("text")("size") = Request.Form("size")
Response.kaka("text").Expires = Date + 365
End If
%>
<html>
<head>
<title>texten</title>
<%If Request.Form("size") <> "" Then %>
<%
IF Request.kaka("text")("size")="10" THEN
Response.Write "<link rel=""STYLESHEET"" type=""text/css"" href=""av.css"">"
ELSEIF Request.kaka("text")("size")="12" THEN
Response.Write "<link rel=""STYLESHEET"" type=""text/css"" href=""av2.css"">"
ELSEIF Request.kaka("text")("size")="14" THEN
Response.Write "<link rel=""STYLESHEET"" type=""text/css"" href=""av3.css"">"
ELSEIF Request.kaka("text")("size")="16" THEN
Response.Write "<link rel=""STYLESHEET"" type=""text/css"" href=""av4.css"">"
ELSEIF Request.kaka("text")("size")="18" THEN
Response.Write "<link rel=""STYLESHEET"" type=""text/css"" href=""av5.css"">"
END IF
%>
<%Else %>
<link rel="STYLESHEET" type="text/css" href="av.css">
<%End If %>
</head>
<body>
<form method="POST" action="<%= Request.ServerVariables("script_name")%>">
<select name="size">
<option nochice>Välj textstorlek</option>
<option value="10">10 punkter</option>
<option value="12">12 punkter</option>
<option value="14">14 punkter</option>
<option value="16">16 punkter</option>
</select>
<input type="submit" value="OK">
</form>
<LINK..... kommer på fel ställe.
Den ska skrivas i < head > taggen.
En snabb lösning ... ej testad ...
<%
'## -- sub som väljer vilken css som ska användas --
Sub getCSS(ByVal WichStyle)
Response.Write "<link rel=""STYLESHEET"" " & _
"type=""text/css"" href=""" & WichStyle & ".css"">"
End Sub
'## -------------------------------------------------------------
'## -------------------------------------------------------------
'## -- kolla om besökaren vill ändra css (utseendet) --
If Request.Form <> "" Then
Response.kaka("text")("size") = Request.Form("size")
Response.Kaka.Expires = DateAdd("d",365,Now())
End If
'## -- hämta sparat värde för vilken CSS som besökaren vill ha --
intStyle = Request.kaka("text")("size")
%>
<html>
<head>
<title>texten</title>
<% Call getCSS(intStyle)%>
.
.
.
.
.
OBS!!! css filerna måste vara döpta i detta fall till samma som värdet i size fältet i formuläret
cya,
PatrikB
------------------
*Det tar sig sa han som hade eld i håret*
Det ligger i headen, det vara bara jag som inte hade klistran in </head>
<body> mm, så det är inte det felet, det är ett annat!
(nu har jag redigerat det där uppe, så ser det ut)
Jag fick det till att fungera, men om klienten inte har nå´n Cookie, då blir det ju inte nå´n stilmall alls, hur kan man komma ifrån det?
Som första gången man kommer in på sidan t ex
Kanske skall skicka med koden som jag trodde det var, men då ändrar den bara på en sida och sparar inte cookisen verkar det som
<%
'## -- sub som väljer vilken css som ska användas --
Sub getCSS(ByVal WichStyle)
Response.Write "<link rel=""STYLESHEET"" " & _
"type=""text/css"" href=""" & WichStyle & ".css"">"
End Sub
'## -------------------------------------------------------------
'## -------------------------------------------------------------
'## -- kolla om besökaren vill ändra css (utseendet) --
If Request.Form <> "" Then
Response.Cokies("text")("size") = Request.Form("size")
Response.Cokies("text").Expires = DateAdd("d",365,Now())
Else
'## Om det inte är valt nagon Cokie
Response.Cokies("text")("size") = 12
End If
'## -- hämta sparat värde för vilken CSS som besökaren vill ha --
intStyle = Request.Cokies("text")("size")
%><html>
<head>
<title>Ändra size</title>
<% Call getCSS(intStyle)%>
</head>