我在http://www.mincovlaw.com/interest/calculate的脚本在FF,Chrome,Safari和IE9中运行良好。
我刚刚意识到它在IE8中引发'newamount' is undefined
错误。
知道为什么会这样吗?
答案 0 :(得分:1)
首先,您有一个应该修复的脚本错误。
window.onload=changeaboutfirm(1);
onload
事件应该直接绑定到函数的引用,而不是changeaboutfirm()
返回的任何内容。你可能想要这样的东西:
window.onload = function () { changeaboutfirm(1); }
在IE中,这会引发“未实现”的异常,这很可能会阻止其他脚本运行。
第二次,newamount
未在任何地方定义。它提到的唯一地方是editamount
函数:
function editamount() {
changedamount=getAmount();
var name=prompt("New Amount (Numbers ONLY):",changedamount);
if (name != '' && name != null) {
isNaN(newamount) ? changedamount : parseFloat(newamount);
y.innerHTML="$"+nicenumber(newamount);
}
if (newamount != changedamount) { hideCalculated(); }
}
您需要添加:
var newamount = ???;
答案 1 :(得分:0)
尝试替换
newamount=parseFloat(name);
if (isNaN(newamount)) {
newamount=changedamount;
}
与
isNaN(newamount) ? changedamount : parseFloat(newamount);
这样可以在NaN
之前检查parseFloat
IE可能存在问题。