我有一個網站下面的JS費用計算器: http://jsfiddle.net/billsinc/HMFYK/SCRIPT5007:無法設置屬性「價值」的價值:對象爲空或未定義
function updateOutput() {
//get form
var form = document.getElementById('calc');
var x = form.elements['x'].value;
x = x.replace(/,/g, "");
// determine multiplier
if (x > 11111 && x < 83333) {
y = 0.009;
}
if (x >= 83333 && x < 166667) {
y = 0.007;
}
if (x >= 166667 && x < 250000) {
y = 0.006;
}
if (x >= 250000) {
y = 0.005;
}
// add data addon
if (form.elements['pd'].checked === true) {
p = 250;
}
else {
p = 0;
}
// calculate monthly price
if (x > 11111) {
form.elements['z'].value = Math.round(eval(parseInt(x, 10) * y + p));
}
else {
form.elements['z'].value = Math.round(eval(100 + p));
}
}
如果輸入「12000」(或一些大於11,111的數字),它將在FF,Chrome和Safari中正確計算。
我一直無法讓它在IE中工作。它引發以下錯誤輸入一個值後:
SCRIPT5007:無法設置屬性「價值」的價值:對象爲空或未定義
我已經看到了這個錯誤的次數在SO上,但所有的解決方案都與.net或嵌入Flash的一些問題有關。
任何幫助,將不勝感激...先謝謝了!
NITPICK:你應該使用'else if'。 – epascarello