webForumDet fria alternativet

Olika priser beroende på vilket val man gjort

ASP

29 svar · 753 visningar · startad av devotion · sida 2 av 2

Frågan, av devotion

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 l

Läs frågan i sin helhet →
Medlem sedan jan. 20013 582 inlägg
#21

Det gjorde faktiskt jag med... Är dom inte från något inlägg som handlade om var man befann sig på en sida??? Något du känner till @nders ;)

Medlem sedan juni 200032 967 inlägg
#22

Denna ligger i searchResult.asp (mainFrame)...

Jo, men denna kod måste också ligga där, annars vet inte koden om vad "pricesetting" är för något:

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

Den koden lägger du alltså på de sidor där du ska använda värdet, för sql-frågor eller annat.

Var ska jag lägga in:...

Jag hade lagt den direkt efter det att cookien sätts.

if isnumeric(Request.QueryString("pricesetting")) then
	Response.Cookies("sydostel")("pricesetting") = Request.QueryString("pricesetting")
	Response.Cookies("sydostel").Expires = #2006-01-01#
	Response.write "<script>parent.window.frames['mainframeellervaddennuheter'].location.reload(true);</script>"
end if

Det finns ju ingen anledning att köra den koden om inte ett nytt val gjorts, så inne i den if-satsen passar den fint.

Är dom inte från något inlägg som handlade om var man befann sig på en sida???

Härifrån :)

mvh

Medlem sedan jan. 20013 582 inlägg
#23

:)
Ok det börjar klarna...

Men...

Vilken fil skall anges i formtaggen.

mainFrame kan ju vara olika filer; cart.asp, searchresult.asp och kanske fler...

Vad skall jag ange???

mvh

Aha, det var därifrån koden kom ;)

Medlem sedan juni 200032 967 inlägg
#24

Du kan gott posta till samma fil som formuläret ligger i, om jag inte helt missförstått hur saker och ting fungerar?

Medlem sedan jan. 20013 582 inlägg
#25

:)
Ok

Och då behåller radiobutton sitt värde???

Har inte testat än, så det kanske jag märker...

Ska göra det i eftermiddag!

mvh

Medlem sedan juni 200032 967 inlägg
#26

devotion skrev:

Och då behåller radiobutton sitt värde???

Nej, inte av sig själv. Du får kontrollera vad som postades och med if-satser skriva ut checked="checked" på rätt radiobutton. Men det är ju en smal sak...

mvh

Medlem sedan jan. 20013 582 inlägg
#27

:p
If-satser ja..... Dessa räddare i nöden... :e

Nu fungerar det som jag vill ha det!!! Det går att ändra priser med radiobutton.

Men....

När jag gör en uppdatering av sökresultatet så frågar IE:

Den här sidan kan inte uppdateras utan informationen skickas igen...... Klicka på "försök igen" eller "avbryt"

hmm
Detta är säker helt logiskt eftersom det jag vill visa är ett resultat av en sökning i databasen. Och vill jag ändra en sql-sats måste jag skicka frågan igen...

Men kan man på något sätt undvika det???

mvh

Donatello!
Tack för din hjälp! @nders lösning med ett javascript var dock en smidigare lösning!! :bire

Medlem sedan juni 200032 967 inlägg
#28

Detta är säker helt logiskt eftersom det jag vill visa är ett resultat av en sökning i databasen. Och vill jag ändra en sql-sats måste jag skicka frågan igen...

Det beror på att du är ett formulär som skickats med metoden post. Postat data skickas inte automatiskt. Om du byter till metoden get (och då också från request.form till request.querystring) i ditt sökformulär kommer du inte få den frågan.

mvh

Medlem sedan jan. 20013 582 inlägg
#29

:)
Du har ju svar på allt!!!

Spelar det ingen roll vad man använder. Trodde att request.form skulle användas vid formulär ocg request.querystring vid strängar...???

Har du heller inget bättre för dig än att sitta vid datorn en fredagkväll kl 22:00 ;)

Nu är denna tråden löst! ska göra en sammanställning och markera som slutligt svar!!

Tack!

mvh

Medlem sedan jan. 20013 582 inlägg
#30

:e
Ok, här kommer svaret på denna tråd!

Sidan är uppbyggd av menuFrame, mainFrame och bottomFrame.

Denna kod läggs i bottomFrame

<%
if isnumeric(Request.QueryString("pricesetting")) then
	Response.Cookies("sydostel")("pricesetting") = Request.QueryString("pricesetting")
	Response.Cookies("sydostel").Expires = #2006-01-01#
	Response.write "<script>parent.window.frames['mainFrame'].location.reload(true);</script>"
end if
if Request.Cookies("sydostel")("pricesetting") = "" then
	pricesetting = 0
else
	pricesetting = cint(Request.Cookies("sydostel")("pricesetting"))
end if

If Pricesetting = "0" then

Response.write "<form action=""bottomFrame.asp"" method=""get"">"&_
"<input name=""pricesetting"" type=""radio"" onclick=""this.form.submit();"" value=""1"" >Netto<br>"&_
"<input type=""radio"" name=""pricesetting"" value=""0"" onclick=""this.form.submit();""checked> Avtal<br>"&_
"</form>"

Else
Response.write "<form action=""bottomFrame.asp"" method=""get"">"&_
"<input name=""pricesetting"" type=""radio"" onclick=""this.form.submit();"" value=""1"" checked>Netto<br>"&_
"<input type=""radio"" name=""pricesetting"" value=""0"" onclick=""this.form.submit();"" > Avtal<br>"&_
"</form>"
End if
%>

Med hjälp av radiobutton ändrar man om man vill se avtals- eller nettopriser (eller ink moms, ex moms om man vill använda sig av det

Sedan använder man sig av följande kod på de sidor man vill ändra priserna:

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

Tack för hjälpen!

Ill be back !
;)

mvh

270 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)