(問題編輯)幫助與JavaScript的購物車
我想實現的是: 我想按鈕,我可以在我的項目添加到購物車如AddToCart(),所以我可以加我的項目與該人希望的數量。爲此,我需要全局數組,如總和,量化和名稱。除了我已經做的方式沒有這個,我不知道如何實現這一點。
提示給我的提示是:每個玩具的價格和名稱應該使用DOM方法調用document.getElementByID(itemPriceID-itemNameID).innerHTML從網頁直接讀取,其中itempriceID和itemNameID是顯示每個玩具的價格和名稱的HTML元素的ID。 (注意:價格(直接從頁面讀取)將是字符串類型,這需要轉換爲數字,因此爲了執行類型,您將需要使用JavaScript類型轉換方法parseFloat(price)))。
然後,我需要一個ViewShoppingCart(),它將循環訪問數組,並將其顯示在總表中。 我所做的有點類似,但我的知識和經驗還不足以完成上述問題。我希望這更有意義。
JavaScript代碼
function round_total (c) {
var pennies = c * 100;
pennies = Math.round(pennies);
var strPennies = "" + pennies;
var len = strPennies.length;
return parseFloat(strPennies.substring(0, len - 2) + "." + strPennies.substring(len - 2, len));
}
// End of round_total function.
/* Start of generate_page function. */
function generate_page (form) {
tax = 0.08;
delivery_p = 2.99;
var odate = new Date();
var qty = form.quantity.value;
var product_v = new String(form.product.value);
var total_price = product_v.substr(product_v.indexOf("$") + 1, product_v.length - product_v.indexOf("$"));
var price_without_tax = round_total(qty * total_price);
var ttax = round_total(price_without_tax * tax);
var delivery = round_total(qty * delivery_p);
var total_p = round_total(price_without_tax + ttax + delivery);
document.writeln("Quantity: " + qty + "<br>");
document.writeln("Price: $" + total_price + "<br>");
document.writeln("Delivery: $" + delivery + "<br>");
document.writeln("Total: $" + total_p + "<br>");
document.writeln("Order placed on: " + odate.toGMTString());
}
function calculate() {
round_total (c)();
generate_page (form)();
}
HTML代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="shopping_cart.js" />
</script>
<link rel="stylesheet" type="text/css" href="shopping_cart.css" />
<title> A title </title>
</head>
<body>
<form name="form1" method="post" action="data.php" >
<div id="product1">
<p id="title1"><b>Star Wars Tie Interceptor</b></p>
<img src="../Assingment Pics/Tie Interceptor.jpg" /> <p id="price1">Price £39.99</p> <p><b>Qty</b></p>
<select name="qty">
<option value="number">0</option>
<option value="number">1</option>
<option value="number">2</option>
<option value="number">3</option>
<option value="number">4</option>
<option value="number">5</option>
</select>
</div>
<div id="product2">
<p id="title2"><b>Star Wars Clone Wars Vehicles Corporate Allinace Tank</b></p>
<img src="../Assingment Pics/Corporate Tank.jpg" /><p id="price2">Price £29.99</p> <b> Qty</b>
<select name="qty2">
<option value="number">0</option>
<option value="number">1</option>
<option value="number">2</option>
<option value="number">3</option>
<option value="number">4</option>
<option value="number">5</option>
</select>
</div>
<div id="product3">
<p id="title3"><b>Star Wars Clone Wars AT-ST vehicle</b></p>
<img src="../Assingment Pics/At St.jpg" /><p id="price3">price £49.99</p> <b>Qty</b>
<select name="qty3">
<option value="number">0</option>
<option value="number">1</option>
<option value="number">2</option>
<option value="number">3</option>
<option value="number">4</option>
<option value="number">5</option>
</select>
</div>
<br />
<input type="submit" value="Add to cart" name="submit" onClick="cart()";/><input
, type="reset" value="Reset" name="reset">
</form>
</body>
</html>
我需要展示我的CSS呢? (對不起,關於編碼它不適合我的工作,它沒有顯示出它應該的方式)
好的我認爲我已經修復了第一部分。我是新來的,但我不認爲我需要AJAX?它應該是純粹的JavaScript。 我編輯了我的原始問題以更好地解釋它。 – user228390 2010-05-04 15:52:44
我想我現在明白了。基本上你應該計算點擊提交時啓動的「cart()」函數,從頁面收集信息,計算總價並在某處顯示。那麼你將不需要AJAX。 您目前創建HTML頁面的方式並不容易從DOM中檢索所需的信息。使用獨特的ID可以使產品和價格最簡單,從而可以通過購物車功能輕鬆檢查產品和價格。使用選擇框也可以工作,但至少給他們一個ID。 – Pino 2010-05-04 16:26:16
好吧我已經將HTML更改爲更簡單的東西,這是你的意思嗎?但我仍然需要關於javascript的幫助 – user228390 2010-05-04 17:12:03