簡體   English   中英

使用javascript的cookie問題

[英]problems with cookies using javascript

我正在創建一個非常小的購物車應用程序。 用戶只有兩個項目可供選擇,它們位於具有2行4列的表中。 我想做的是用戶檢查一項或兩項,輸入價格,然后輸入金額。 單擊添加到購物車按鈕后,就會分別為每個商品存儲一個cookie。 當用戶單擊查看購物車鏈接時,將顯示另一個表。 表格中顯示的信息是該商品的商品名稱,價格,數量以及總價。 在表格下方,顯示cookie的值。 運行程序時沒有出現任何錯誤,但是我不確定如何獲取在第一張表中輸入的數據以顯示在視圖購物車鏈接的第二張表中。 另外,我不確定如何顯示cookie的值。 這是我到目前為止的代碼。

<html>

<head>
<title> Store </title>
<h1> My store </h1>
<script type="text/javascript">
function setCookie() 
{
var exdate = new Date();
exdate.setDate(exdate.getDate() +10);
document.cookie = "price="+ document.getElementsByName("Price")[0].value + ";expires=  "+exdate.toGMTString();
 }

function retrieve() 
{
document.getElementsByName("fullName")[0].value = document.cookie;
}

function Calc()
{
if (document.getElementById("calcu")){
var pri = document.getElementById("price").value;
var qty = document.getElementById("quantity").value
Total(pri,qty)
}
}
function Total(pri, qty)
{
var pri = document.getElementById("price").value
var qty = document.getElementById("quantity").value

if (document.getElementById("circle").checked) {
document.getElementById("total").value = pri * qty
}
}
function load()
{
document.getElementById("circle")
}
</script>

</head>

<body>
<table border = "1">
<td> <input type="checkbox" id = "circle"> Circle </td>
<td> <img src="circle.jpg"> </td>
<td> Price: <input type = "text" size = "4"  name = "price" />$ </td>
<td> Quantity: <input type = "text" size = "4"  id = "quantity"/> </td>
<tr> </tr>
<td> <input type = "checkbox"> Stickman </td>
<td> <img src = "stickman.gif"> </td>
<td> Price: <input type = "text" size = "4" value = "$" id = "price" /> </td>
<td> Quantity: <input type = "text" size = "4"  id = "quantity" /> </td>
</table>
<br />
<input type = "button" value = "Add to cart">
<br />
<br />
<a href ="cart.html" onclick = "retrieve()"> View Cart </a>
<br /> 

</body>
</html>

這是我的另一頁。

<html>
<head>
<title> Cart </title>
<h1> My cart </h1>
<script type = "text/javascript">
function retrieve() 
{
document.getElementsByName("price")[0].value = 

document.cookie;
}
</script>
</head>

<body>
<table border = "1">
<td> Stickman </td>
<td> <script type = "text/javascript">document.getElementById("price")  </script> </td> 
<td> price per </td>
<td> total </td>
<tr> </tr>
<td> Circle </td>
<td> quantity order </td>
<td> price per </td>
<td> total </td>
<tr> </tr>
<td colspan = "3"> TOTAL: </td>
<td> total price </td>
</table> 
<br /> <br />
<script type="text/javascript">document.write(retrieve("price")); 

</script>
<br / > <br />
<input type = "button" value = "Checkout">
<br /> <br />
<a href = "store.html"> Continue Shopping
</body>
</html>

如果可以,請使用jquery.cookie。

它將為您節省很多麻煩。 您還可以使用ajax調用php腳本(如果您具有服務器訪問權限並安裝了php),該腳本將顯示cookie值,並且還會進行一些檢查以檢查服務器端。

還要記住,為cookie設置相同的域或頁面,否則最終將得到多個cookie,這些cookie僅在聲明的頁面上被讀取。

提示:要在純JavaScript上使用域或頁面屬性,請使用以下代碼:

document.cookie = name + "=" + escape(value)+";expires="+<date of expiration in GMTString()>+";path="+path+";domain="+domain;

其中:name是您將在第二頁上檢索到的值的名稱,value是您將存儲的值過期,是日期路徑是url路徑,使用'/'並且您是系統范圍的,或使用'/購物車”域是url域,例如“ www.zubzub.com”

現在在第二頁上,您將獲得如下所示的cookie:

var cookie = document.cookie;
var cookies = cookie.split(";");

使用上面的代碼,您可以獲得存儲在cookie中的所有變量。 因此,您必須對其進行迭代,並在= pos處進行拆分,以獲取鍵值對,然后才能處理存儲在特定cookie中的實際數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM