Försöker igen så inte tråden dör. Ingen som vet?
Har följande som gör att man flyttar en vara till kundkorgen.
Response.Write("<input type='text' name='anntal' value='0' size='3'><a href='shBasket.asp?addItem="& arrArtiklar(0,u) &"' target='underst'> <img src='images/kop.gif' alt='Info' width='43' height='14' border='0'> </A>")
I rutan 'anntal' vill jag att man ska skriva antal artiklar och att det värdet går till kundkorgen shBasket.asp (ligger i en annan frame) Hur gör man detta?
shbasket.asp
<% Option Explicit ' Vi vill ha koll på våra variabler
%><!--#include file="prevent_cache.asp"-->
<!--#include file="connection.asp"-->
<!--#include file="functions.asp"--><%
' Förklaring: Kundvagnen.
' Skicka med följande i QuerySträngen:
' addItem=<ID>
' Lägger till varan med ID nummret <ID> i kundvagnen
' removeItem=<ID>
' Tar bort varan med ID nummret <ID> från kundvagnen
' EnsureVisible=<ID>
' Visar varan med ID nummret <ID> i listan
Dim itemID ' as Long
Dim shBasket ' as String
Dim tmpVar ' as Variant
Dim one, noItems
Dim Changed ' as Boolean
'Session("shBasket") = ""
' Session("shBasket") är kundvagnen.
shBasket = Session("shBasket")
'// Vi undersöker om något läggs i korgen:
IF Request.Querystring("addItem")<>"" THEN
itemID = Request.QueryString("addItem")
IF shBasket<>"" THEN
' Vi tar reda på om varan redan finns i korgen..
If Instr( shBasket, "[" & itemID & "]") > 0 then
'* Den finns här, så vi får leta på den!
' för att kunna uppdatera antalet!
tmpVar = Split( shBasket, "|")
For Each one In tmpVar
IF Left( one, InStr( one, ".")-1) = "[" & itemID & "]" Then
noItems = Right( one, Len(one) - instr(one, "."))
shBasket = Replace(shBasket, one, "[" & itemID & "]." & Int(noItems)+1)
Changed = True
Exit For
End If
Next
Else ' Om korgen inte är tom, men inte innehåller varan
'* Den finns inte i korgen, då lägger vi till den!
shBasket = shBasket & "|[" & itemID & "].1"
Changed = True
End If
ELSE ' Om korgen är tom...
' [ID].Antal|
shBasket = "[" & itemID & "].1"
Changed = True
END IF
Session("shBasket") = shBasket
' Eller om något skall tas bort
ELSEIF Request.QueryString("removeItem")<>"" THEN
Dim newBasket
itemID = Request.QueryString("removeItem")
tmpVar = Split( shBasket, "|")
If Instr( shBasket, "[" & itemID & "]") > 0 then
'* Den finns här, så vi får leta på den!
' för att kunna ta bort den! tmpVar = Split( shBasket, "|")
For Each one In tmpVar
IF Left( one, InStr( one, ".")-1) <> "[" & itemID & "]" Then
if newBasket<>"" THEN newBasket = newBasket & "|"
newBasket = newBasket & one
Else
noItems = Right( one, Len(one) - instr(one, "."))
noItems = int(noItems)-1
if noItems> 0 then
if newBasket<>"" THEN newBasket = newBasket & "|"
newBasket = newBasket & "[" & itemID & "]." & noItems
end if
Changed = True
End If
Next
End If
Session("shBasket") = newBasket
END IF
' Om korgen ändrats så laddar vi in sidan utan argument,
' så att man inte får flera av samma vara om man laddar om!
If Changed = True THEN
Response.ReDirect "shBasket.asp" & IIf(itemID<>"", "?EnsureVisible=" & itemID, "")
Response.End
End If
' En enkel funktion som hämtar ut antalet köpta varor
Dim a, itemsInBasket
IF shBasket<>"" THEN
a = Split(shBasket, "|")
For Each One in a
If itemsInBasket <> "" THEN itemsInBasket = itemsInBasket & ","
itemsInBasket = itemsInBasket & Mid(one, 2, InStr(one, "]")-2)
next
End If
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- <%=shBasket%> -->
<title>shBasket</title>
<link rel="STYLESHEET" type="text/css" href="shStyle.css">
</head>
<body topmargin="0" leftmargin="0" BGCOLOR="#EEEEEE">
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<FORM METHOD="GET" ACTION="shBasket.asp">
<TD>
<% IF shBasket <> "" THEN %>
<SELECT NAME="removeItem" CLASS="shBasketItems" STYLE="Width: 200">
<%
Dim v, numRecords, EnsureVisible
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open "SELECT Id, ArtNr, Namn5 FROM Varor WHERE Id IN (" & itemsInBasket & ")",Conn,1,1
numRecords = Rs.RecordCount-1
For v = 0 To numRecords
EnsureVisible = ""
IF cStr(Rs.Fields("id").Value) = Request.QueryString("EnsureVisible") Then EnsureVisible = " SELECTED "
Response.Write Chr(9) & chr(9)
Response.Write "<OPTION " & EnsureVisible & " VALUE=" & Chr(34) & Rs.Fields("id").Value & Chr(34) & ">" & itemCount( Rs.Fields("id").Value, True ) & " " & Rs.Fields("Namn5").Value & "</OPTION>" & VbCrLf
Rs.MoveNext
Next
Rs.Close
Set Rs = Nothing
%> </SELECT>
<SPAN CLASS="shBasketItems"><A HREF="#" OnClick="document.forms[0].submit()" CLASS="shCheckoutLink" target="_self">Ta bort markerad vara</A><br>
<A HREF="shCheckout.asp" CLASS="shCheckoutLink" target="shContent">Till kassan >></A>
</SPAN>
<% ELSE %>
<SPAN CLASS="shBasketItems">Inga varor i korgen.</SPAN>
<% END IF %>
</TD>
</FORM>
</TR>
</TABLE>
</body>
</html>
<%
' CleanUp
Conn.Close
Set Conn = Nothing
%>
