-3

http://www.mincovlaw.com/interest/calculateにある私のスクリプトは、FF、Chrome、Safari、および IE9 で正常に動作しています。

'newamount' is undefinedIE8でエラーがスローされることに気付きました。

なぜそれが起こっているのでしょうか?

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);

これにより、どの IE に問題があるかをNaN事前に確認できます。parseFloat

于 2012-07-24T16:23:23.537 に答える