0

わかりました。Javascript を実行すると、DOM に深刻な問題が発生します。次のコード スニペットは、何らかの理由で機能しません。getElementById() を使用しようとすると、機能すると、スクリプトが機能しなくなります。何が間違っているのか教えてください。

var total=0;
document.write("test");
function quickTotal(price,id){
    alert(price)
    alert(id)
    var object=getElementById(id)
    if(object.checked == 1){
        total=parseFloat(total)+parseFloat(price)
        alert("add")
    }
    if(object.checked == 0){
        total=parseFloat(total)-parseFloat(price)
        alert("subtract")
}

    alert(total)
    //document.floater.price.innerHTML("test")
}
4

1 に答える 1

7

を使用してみてください(メソッドはではなくオブジェクト上にあるため、document.getElementById(id)接頭辞として を付けます)。documentdocumentwindow

更新:コードの例:

<input type="checkbox" id="myChkBox" />
<input type="button" onclick="quickTotal(30, 'myChkBox');" value="Click me" />

<script type="text/javascript">
    var total = 0;
    document.write("test");
    function quickTotal(price, id) {
        alert(price);
        alert(id);
        var object = document.getElementById(id);
        if (object.checked == 1) {
            total = parseFloat(total) + parseFloat(price);
            alert("add");
        }
        if (object.checked == 0) {
            total = parseFloat(total) - parseFloat(price);
            alert("subtract");
        }

        alert(total);
        //document.floater.price.innerHTML("test")
    }
</script>
于 2012-05-16T19:59:30.123 に答える