-3

我在http://www.mincovlaw.com/interest/calculate的脚本在 FF、Chrome、Safari 和 IE9 中运行良好。

我刚刚意识到它会'newamount' is undefined在 IE8 中引发错误。

知道为什么会这样吗?

4

2 回答 2

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 = ???;
于 2012-07-24T16:22:17.607 回答
0

尝试更换

newamount=parseFloat(name);
if (isNaN(newamount)) {
    newamount=changedamount;
}

isNaN(newamount) ? changedamount : parseFloat(newamount);

NaN这使得它在执行之前检查parseFloat哪个 IE 可能存在问题。

于 2012-07-24T16:23:23.537 回答