即时通讯非常新的JavaScript,并写这个脚本来添加一个购物车,并打印出小计和总计。它在FF中工作,但不在IE中。这个函数通过onclick调用三个选项中的一个,值为0-25。它在头部被称为js文件。它所做的是将所选值作为变量,解析它们,添加和相乘,并更改表格的innerHTML以反映小计和总数。 FF很棒,但IE给了Nan。我尝试了许多不同的方式来重写它,许多翻译仍然在FF中工作,但不是IE8。 ive确保变量和表单id不重复。Javascript在IE中返回南,FF ok
function gen_invoice() {
var scount = parseInt(document.shopcart.studentcount.value, 10);
var ycount = parseInt(document.shopcart.youthcount.value, 10);
var fcount = parseInt(document.shopcart.facultycount.value, 10);
//html output source is 3 selects like this, with diff ids and names:
//<select name="studentcount" id="studentcount">
//<option onclick="gen_invoice()" value="0">0 </option></select>
var cardcost = parseInt(document.shopcart.cardprice.value, 10);
//cardcost comes from hidden input value:
//<input type="hidden" id="cardprice" name="cardprice" value="25">
var totalsum = scount + ycount + fcount;
var grandtotal = totalsum * cardcost;
document.getElementById('s_price').innerHTML = scount * cardcost;
document.getElementById('y_price').innerHTML = ycount * cardcost;
document.getElementById('f_price').innerHTML = fcount * cardcost;
document.getElementById('grand').innerHTML = grandtotal;
//....
}
...在此之后有3个长循环编写了一些其他形式,但它们在IE中不工作,要么是因为它们依赖于所选择的值是一个整数。这部分首先发生并返回Nan,所以我确定问题在这里somwhere。 我已经从字面上把我的头撞到了桌子上。你可以想象,能够精美地写出整个网站的其余部分是多么的令人沮丧,但是却无法将3个数字加在一起。请帮助!
什么声明返回'NaN'?尝试使用console.log(),甚至发出警报以查看中间值是什么 – 2010-05-25 19:05:54