1

小計計算ツールを作ろうとしているのですが、何が問題なのか分からず続けられません。フォームが送信されるか、ボタンがクリックされると、すべてがすぐに消えます。

これがフィドルです:: http://jsfiddle.net/xFmBK/

私は無知です...

    function calcSub(){

        var input = document.getElementById('fld'),
            subTotal = document.getElementById('sub-total'),
            tax = document.getElementById('tax'),
            total = document.getElementById('total');

        var subTotalCalc = input.value / 1.06;

        var flag = true;


        if(input.value == "" || input.value == null){
            alert("Please enter in a total!");
            return false;
        } else {
            subTotal.innerHTML = "Subtotal:" + " " + "$" + subTotalCalc;
            tax.innerHTML = "Tax:" + " " + "$" + input.value - subTotalCalc;
            total.innerHTML = input.value;
            return flag;
        }

    }
4

5 に答える 5

3

これは、送信ボタンが実際に何らかのアクションでフォーム送信を行い、ページが更新されているために発生します。動作を修正するには、次のような方法があります。

送信ボタンを単なるボタンにします。<input type="button"> 実際には、そこにフォームは必要ないようです

または onClick ハンドラに return false を追加します。

<button type="submit" onclick="calcSub(); return false;">Calculate</button><br>
于 2013-08-08T07:04:41.283 に答える
1

別の問題に注意してください: を括弧で囲む必要があります(input.value - subTotalCalc)。括弧がないと、文字列を加算および減算しようとしているため、結果はNaN.

tax.innerHTML = "Tax:" + " " + "$" + (input.value - subTotalCalc);`
于 2013-08-08T07:03:55.790 に答える