Javascript';未定义';IE8中的错误-仅限

Javascript';未定义';IE8中的错误-仅限,javascript,internet-explorer,Javascript,Internet Explorer,我的脚本在FF、Chrome、Safari和IE9中运行良好 我刚刚意识到它在IE8中抛出了一个“newamount”未定义的错误 知道为什么会发生这种情况吗?首先,您有一个脚本错误,需要修复 window.onload=changeaboutfirm(1); onload事件应该直接绑定到函数的引用,而不是changeaboutfirm()返回的任何内容。您可能需要以下内容: window.onload = function () { changeaboutfirm(1); } 在IE中,

我的脚本在FF、Chrome、Safari和IE9中运行良好

我刚刚意识到它在IE8中抛出了一个“newamount”未定义的错误


知道为什么会发生这种情况吗?

首先,您有一个脚本错误,需要修复

window.onload=changeaboutfirm(1);
onload
事件应该直接绑定到函数的引用,而不是
changeaboutfirm()
返回的任何内容。您可能需要以下内容:

window.onload = function () { changeaboutfirm(1); }
在IE中,这会引发一个“未实现”异常,很可能会阻止其他脚本运行

Second
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 = ???;
试着替换

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


这使得它在执行IE可能有问题的
parseFloat
之前先检查
NaN

在此处发布您的代码,告诉我们需要做什么来重现错误。是否要共享问题代码?将您的代码粘贴到此处,而不是将我们重定向到您的网站…我不是在尝试推广该网站。我不明白IE不喜欢的代码是什么。代码中有800多行。我应该全部发布吗?@UnoMeinAme No.只有相关代码。如果你不知道相关的代码是什么,那就是你的问题了,谢谢。我更改了它,因此不会立即抛出错误。但当我试图计算某个东西时,它会给出一个错误。你会得到这个错误,因为
newamount
在任何地方都没有定义。在哪里初始化?已更改。现在它说:
对象不支持这个属性或方法:calculate
这将使它检查一个未定义的变量是否是一个数字。。。
isNaN(newamount) ? changedamount : parseFloat(newamount);