---
title: "Olika priser beroende på vilket val man gjort"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/122673-olika-priser-beroende-på-vilket-val-man-gjort"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "devotion"
published: "2005-02-17T16:25:21.000Z"
updated: "2005-02-18T21:14:32.000Z"
replies: 29
views: 764
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/122673-olika-priser-beroende-på-vilket-val-man-gjort"
---

# Olika priser beroende på vilket val man gjort

_Sida 1 av 2._

## #1 — devotion, 2005-02-17T16:25Z

Hej! :) 

Hur gör man för att kunna välja vilka priser man vill se på en webplats. Exempelvis inklusive eller exklusive moms. Vill att sql-satsen skall vara olika beroende på vilket val man gjort. Valet skall också gälla "hela webplatsen" global kanske det heter???

Tänkte att man antingen kunde klicka på en länk eller använda sig av radiobutton.

Vill att när man skiftar radiobutton skall sidan laddas om...

Några ideér??? :p 

Edit.
Såg att Jmedata.se har det jag efterfrågar...

mvh

Permalänk: https://www.webforum.nu/p/122673

## #2 — @nders, 2005-02-17T18:48Z

Något sånt här hade nog jag gjort:

```
<%
if isnumeric(Request.QueryString("pricesetting")) then
	Session("pricesetting") = Cint(Request.QueryString("pricesetting"))
else
	if session("pricesetting") = "" then session("pricesetting") = 0
end if

if session("pricesetting") = 0 then
	' här kör vi SQL-fråga för priser exkl.moms
else
	' SQL-fråga för priser inkl. moms
end if

%>
<form action="sidan.asp" method="get">	
<input type="radio" name="pricesetting" value="1" onclick="this.form.submit();"> inkl. moms<br>
<input type="radio" name="pricesetting" value="0" onclick="this.form.submit();"> exkl. moms<br>
</form>
```

Men jag hade nog använt en cookie istället för en sessionsvariabel, dock.

mvh

Permalänk: https://www.webforum.nu/p/1556433

## #3 — devotion, 2005-02-17T18:58Z

Vad hade jag gjort utan dig.......... :p 

Jag funderade just på om jag skulle välja session eller cookie. 

Session har ju nackdelen att man kan bli utslängd...

Om jag väljer cookie lagras värdet då tills nästa gång användaren kommer till webplatsen?

Och då kommer ju nästa fråga....

Hur ser cookielösningen ut??
Mvh

Permalänk: https://www.webforum.nu/p/1556439

## #4 — @nders, 2005-02-17T19:02Z

Om du använder cookies väljer du själv hur länge den ska gälla. För att skapa en session-cookie:

```
Response.Cookies("sydostel")("pricesetting") = Request.Querystring("pricesetting")
```

För att själv bestämma giltighetstiden använder du *Expires*.

```
Response.Cookies("sydostel").Expires = #2006-01-01#
```

(Var det sydostel det hette? minns inte så noga, men du vet nog! ;-) )

En session cookie gäller tills webbläsaren stängs, och påverkas alltså inte av timeouter och dylikt.

För att hämta kakvärde:

```
pricesetting = Request.Cookies("sydostel")("pricesetting")
```

mvh

Permalänk: https://www.webforum.nu/p/1556440

## #5 — devotion, 2005-02-17T19:08Z

:p 

...och var ska jag lägga koden???  Har inte jobbat något med cookies innan... :r 

Hur får jag hela sidan att laddas om när jag skiftar radiobutton???

Med redirect???

mvh

Permalänk: https://www.webforum.nu/p/1556446

## #6 — @nders, 2005-02-17T19:09Z

> **devotion skrev:**
>
> ...och var ska jag lägga koden???  Har inte jobbat något med cookies innan... :r

Det spelar inte så stor roll, egentligen. I mitt kodexempel ovan kan du byta delen som sätter sessionsvariabel till kod som sätter kaka istället. Jag skulle lagt koden överst på sidan.

> Hur får jag hela sidan att laddas om när jag skiftar radiobutton???

Har du testat formuläret i mitt kodexempel?

Permalänk: https://www.webforum.nu/p/1556449

## #7 — devotion, 2005-02-17T19:13Z

Nooooooooooooooooop.....

Har inte gjort det än...  Mistänkte att du tänkt på det men frågade ändå :r  Sorry...

Det är ju tre kodrader

Ska alla läggas överst???

Mycket frågor men jag kan inget om cookies

mvh

Permalänk: https://www.webforum.nu/p/1556452

## #8 — devotion, 2005-02-17T19:16Z

Är cookies globala eller vad det heter??? Så jag kan använda dom som vilkor på flera sidor???

mvh

Permalänk: https://www.webforum.nu/p/1556455

## #9 — @nders, 2005-02-17T19:18Z

En cookie gäller för hela webbplatsen.

Nytt kodexempel:

```
<%
if isnumeric(Request.QueryString("pricesetting")) then
	Response.Cookies("sydostel")("pricesetting") = Request.QueryString("pricesetting")
	Response.Cookies("sydostel").Expires = #2006-01-01#
end if

if Request.Cookies("sydostel")("pricesetting") = "" then
	pricesetting = 0
else
	pricesetting = cint(Request.Cookies("sydostel")("pricesetting"))
end if

if pricesetting = 0 then
	' här kör vi SQL-fråga för priser exkl.moms
else
	' SQL-fråga för priser inkl. moms
end if

%>
<form action="sidan.asp" method="get">	
<input type="radio" name="pricesetting" value="1" onclick="this.form.submit();"> inkl. moms<br>
<input type="radio" name="pricesetting" value="0" onclick="this.form.submit();"> exkl. moms<br>
</form>
```

Permalänk: https://www.webforum.nu/p/1556457

## #10 — devotion, 2005-02-17T19:24Z

:D 

Funkar perfekt!!!

En sista fråga innan jag klarmarkerar denna tråden;

Kan jag välja en av knapparna som "checked" initialt??

Mvh

Permalänk: https://www.webforum.nu/p/1556461

## #11 — @nders, 2005-02-17T19:29Z

> **devotion skrev:**
>
> Kan jag välja en av knapparna som "checked" initialt??

Ja då!

```
<input type="radio" name="pricesetting" value="0" onclick="this.form.submit();" checked="checked"> exkl. moms<br>
```

Men formuläret kommer postas / sidan läses om även om du klickar på den radioknapp som redan är markerad.

Men det kanske du kan leva med?

Permalänk: https://www.webforum.nu/p/1556464

## #12 — devotion, 2005-02-17T19:36Z

Jo, det kan jag leva med.... Det spelar inte så stor roll. Ingen alls faktisk!!!

Men jag kom på en annan sak.....

Laddas hela frameseten om eller bara den sidan som jag angivit???

Sidan är uppbyggd med ramar och valet ska ligga i bottomFrame. Nu är det väl så att priserna kommer att visas i mainFrame i de flesta fall. Men hur fungerar det? 

Mvh

Permalänk: https://www.webforum.nu/p/1556467

## #13 — Donatello, 2005-02-17T19:50Z

Inflik från amatören...  :) 

> Men formuläret kommer postas / sidan läses om även om du klickar på den radioknapp som redan är markerad.

 

Borde inte detta lösa det?

```
<%IF pricesetting = 0 THEN %>
<input type="radio" name="pricesetting" value="1" onclick="this.form.submit();"> inkl. moms<br>
<input type="radio" name="pricesetting" value="0" checked="checked"> exkl. moms<br>
<%ELSE%>
<input type="radio" name="pricesetting" value="1" checked="checked"> inkl. moms<br>
<input type="radio" name="pricesetting" value="0" onclick="this.form.submit();"> exkl. moms<br>
<%END IF%>
```

Permalänk: https://www.webforum.nu/p/1556476

## #14 — devotion, 2005-02-17T20:45Z

Hmmmm..

Har inte testat det...

mvh

Permalänk: https://www.webforum.nu/p/1556493

## #15 — devotion, 2005-02-17T21:50Z

:( 
Får inte ihop det!!!! x( 

Sidan är uppbyggd av tre olika frames; menuFrame.asp, bottomFrame.asp och mainFrame.asp.

bottomFrame har en listmeny som är "kundvagn" , här skall också valet mellan avtal- och nettopriser ligga. I mainFrame presenteras sökresultat och sammanställning av kundvagnen. Dessa filer heter searchResult.asp och cart.asp 

När man skiftar mellan avtal- och nettopriser skall mainFrame laddas om med de nya värdena. I varukorgen lagras inga priser så den behöver inte uppdateras.

SQL-satserna ligger i searchResult.asp och cart.asp.

Hur skall koden läggas ut i de olika filerna för att det skall fungera???

Help!!

Mvh

Permalänk: https://www.webforum.nu/p/1556528

## #16 — Donatello, 2005-02-17T22:19Z

Det löser vi. :)

Börja med att lagra adressen till aktuell sida i mainframen i en session.

I början av varje sida som öppnas i mainframe:

```
<%
sQ = Request.QueryString
sPath = "http://" & Request.ServerVariables("server_name") & Request.ServerVariables("path_info")
if sQ <> "" then sPath = sPath & "?" & sQ
Session.timeout = 120
Session("MainFrameContent") = sPath
%>
```

Sen tar vi itu med bottom. Där lägger vi till följande:

```
<%
dim swap
swap = Request.Querystring("swap") & ""
%>
<body
<%IF swap = 1 THEN %>
 onLoad="parent.mainFrame.location.href = '<%=Session("MainFrameContent")%>';"
<%END IF%>
>
```

Vidare ändrar du följande i bottomFrame:

```
<form action="sidan.asp?swap=1" method="get">
```

Vad händer (eller bör hända, jag är inte bombsäker :) )?

Första stycket gör att vi vet vilken sida som för tillfället hör hemma i mainframen. Andra stycket säger att om swap = 1, så öppnar vi den aktuella sidan i mainframen. Eller uppdaterar, som det egentligen blir. :) Och formen säger vi bara till att gå till sidan.asp?swap=1, så bodytaggen hoppar igång. Detta gör att sidan.asp hinner exekveras och pricesetting cookien hinner ändras innan mainframen laddas om.

\- Jag hoppas att du har förstått.
\- Javisst. Tack Baloo.

Berätta om det funkar. :)

Permalänk: https://www.webforum.nu/p/1556538

## #17 — devotion, 2005-02-17T22:26Z

:)
Hej!

Tack för hjälpen!

Det låter logiskt.....

Har dock ej hunnit testa än...  Tar tag i det i morgonbitti. Lägger mig nu...

God natt!!

mvh

Permalänk: https://www.webforum.nu/p/1556542

## #18 — Donatello, 2005-02-17T22:28Z

Natti natti. :)

Permalänk: https://www.webforum.nu/p/1556543

## #19 — @nders, 2005-02-18T06:10Z

... eller, så slänger man ut ett javascript som laddar om mainframen när man bytt pristyp.

```
<script>parent.window.frames['mainframeellervaddennuheter'].location.reload(true);</script>
```

 \- - - - - - - - - 

> **Donatello skrev:**
>
> ```
> sQ = Request.QueryString
> sPath = "http://" & Request.ServerVariables("server_name") & Request.ServerVariables("path_info")
> if sQ <> "" then sPath = sPath & "?" & sQ
> ```

Jag tycket mig känna igen de kodraderna... ;)

Permalänk: https://www.webforum.nu/p/1556586

## #20 — devotion, 2005-02-18T06:17Z

:) 
Ny dag. nya tag!!!

Denna kod ligger i bottomFrame

```
if isnumeric(Request.QueryString("pricesetting")) then
	Response.Cookies("sydostel")("pricesetting") = Request.QueryString("pricesetting")
	Response.Cookies("sydostel").Expires = #2006-01-01#
end if

if Request.Cookies("sydostel")("pricesetting") = "" then
	pricesetting = 0
else
	pricesetting = cint(Request.Cookies("sydostel")("pricesetting"))
end if

%>
<form action="searchresult.asp" method="get">	
<input type="radio" name="pricesetting" value="1" onclick="this.form.submit();"> inkl. moms<br>
<input type="radio" name="pricesetting" value="0" onclick="this.form.submit();"> exkl. moms<br>
```

Denna ligger i searchResult.asp (mainFrame)

```
if pricesetting = 0 then
	' här kör vi SQL-fråga för priser exkl.moms
else
	' SQL-fråga för priser inkl. moms
end if
```

Är detta rätt??

Var ska jag lägga in:

```
<script>parent.window.frames['mainframeellervaddennuheter'].location.reload(true);</script>
```

Som cdet är nu så "pekar" formtaggen på en viss sida i exemplet searchresult.asp

nvh

Permalänk: https://www.webforum.nu/p/1556588

---

Tråden på webben: https://www.webforum.nu/amne/asp/122673-olika-priser-beroende-på-vilket-val-man-gjort  
Nästa sida: https://www.webforum.nu/amne/asp/122673-olika-priser-beroende-på-vilket-val-man-gjort/page2.md
