我在使用javascript制作数组函数时遇到问题

时间:2013-01-18 13:17:03

标签: javascript arrays variables shopping-cart

我制作了这个简单的购物车,您可以从下拉列表中选择数量并添加这些数字,您将获得所有产品的总数和产品本身的总数。

但是我希望它用价格和名称写出数量并将其写在网站上的div中,这样用户就可以很容易地看到他添加了产品。我通过逐个添加产品来制作计算部分,因为我没有对它们进行排列。但对于下一部分,我只是找不到适合我需要的方法。这只是我的测试页面,所以我只有几个值,但在另一个页面中我有超过70个列出如下:

<div id="radioAlert">
<script type="text/javascript">
//calculator
function updatesum() {
document.form.sum.value =
(document.form.sum0.value -0) *99 +
(document.form.sum1.value -0) *99 +
(document.form.sum2.value -0) *99;

document.form.smu.value =
(document.form.prod0.value -0)*99  +
(document.form.prod1.value -0) *99 +
(document.form.prod2.value -0) *99 +
(document.form.prod3.value -0) *99 +
(document.form.prod4.value -0) *99;
document.form.totalsum.value =
(document.form.sum.value -0) +
(document.form.smu.value -0); //not a typo i was just lazy with the name

//arrays

//This one i did not get to work.
var myArray = newArray();
myArray[0]=document.form.sum2.value;
myArray[1]=document.form.prod0.value;
myArray[2]=document.form.prod1.value;
myArray[3]=document.form.prod2.value;
myArray[4]=document.form.prod3.value;
myArray[5]=document.form.prod4.value;

for (var i = 0; i < myArray.length; i++) {
        alert(myArray[i]);
}


//this part works but i want it to add its value only once and then replace its value if its updated again, if its 0 i want it to be completely removed.

var prod1 = document.form.sum2.value;
var prod2 = document.form.sum1.value;

var radioAlert = document.getElementById("radioAlert");
var radioAlert2 = document.getElementById("radioAlert"); 

if  (document.form.sum2.value>0) {
//document.write("pilotjakke pelsforet small  " +   prod1 + "  stk");
radioAlert.innerHTML += ("pilotjakke pelsforet small  " +   prod1 + "  stk");
alert("pilotjakke pelsforet medium  " +   prod1 + "  stk");
}

if  (document.form.sum1.value>0) {
//document.write("pilotjakke pelsforet small  " +   prod1 + "  stk");
radioAlert2.innerHTML += ("pilotjakke pelsforet medium  " +   prod2 + "  stk");

}
}
</script>
</div>

1 个答案:

答案 0 :(得分:1)

默认情况下,JavaScript中没有newArray函数。

更改

var myArray = newArray();

var myArray = [];

var myArray = new Array();
// Note space ---^

通常首选使用[]的表单。除了更简洁之外,它还不容易重新定义Array构造函数。

请注意,如果您愿意,也可以使用元素初始化数组:

var myArray = [
    document.form.sum2.value,
    document.form.prod0.value,
    document.form.prod1.value,
    document.form.prod2.value,
    document.form.prod3.value,
    document.form.prod4.value
];