2017-09-23 65 views
0

我是新來的,我有一個問題。當我刷新網站(或從另一側導航)時,我希望我的購物車中的商品能夠保存。如何將商品保存在購物車中? Javascript和JQuery只有

這是HTML代碼:

<!doctype html> 
<html> 
<body> 
<h1> Shopping Cart </h1> 
<div id='frm'> 
     <label>Movie: </label> 
     <input type="text" id="pname" size="20"><br> 
     <label>Number of tickets: </label> 
     <input id='pqty' type='number'><br> 
     <label>price class €</label> 
     <select id="priceclass"> 
      <option>5</option> 
      <option>7</option> 
      <option>9</option> 
      <option>12</option> 
     </select> <br> 
     <label></label><button onclick="addItem()"> In the shopping cart </button> 
     </div> 
    <div id='shopping cart'></div> 
</body> 
</html> 

這裏是我的腳本文件。我想我必須加載並保存代碼,但它不起作用。我試圖進入保存和加載 - 的功能,但什麼是錯的:

inames = [] 
iqtyp = [] 
iprice = [] 

function addItem(){ 
      inames.push(document.getElementById('pname').value); 
      iqtyp.push(parseInt(document.getElementById('pqty').value)); 
      iprice.push(parseInt(document.getElementById('priceclass').value)); 

      displayCart(); 
     } 

function displayCart() { 
      shoppingcartdata = '<table><tr><th>Movie</th><th>Number of tickets</th><th>Price class € </th><th>Total €</th></tr>'; 

      total = 0; 

      for (i=0; i<inames.length; i++){ 
       total += iqtyp[i] * iprice[i] 
       shoppingcartdata += "<tr><td>" + inames[i] +"</td><td>" + iqtyp[i] + "</td><td>" + iprice[i] + "</td><td>" + iqtyp[i] * iprice[i] + "</td><td><button onclick='delElement(" + i + ")' >Delete</button></td></tr>" 
      } 

      shoppingcartdata += '<tr><td></td><td></td><td></td><td>' + total + '</td></tr></table>' 

      document.getElementById('shopping cart').innerHTML = shoppingcartdata; 

      saveCart(); 
} 

function saveCart(){ 
    localStorage.setItem("shoppingcartdata", JSON.stringify(cart)); 
} 

function loadCart(){ 
    cart = JSON.parse(localStorage.getItem("shoppingcartdata")); 
} 

loadCart; 

function delElement(a){ 
     inames.splice(a,1); 
     iqtyp.splice(a,1) 
     iprice.splice(a,1) 
     displayCart() 
} 
+0

哦,我把loadCart改正爲loadCart(); ! – Mnktra

回答

0

我想從我的購物車中的物品時,我刷新頁面

也許這有助於保存:

window.onbeforeunload = function(){ 
    saveCart(); 
}; 

或寫入的jQuery:

$(window).bind('beforeunload', function(){ 
    saveCart(); 
}); 

saveItems()將在訪問者離開網站時被調用。

+0

它不工作... – Mnktra

相關問題