Javascript计算器 - 逗号问题

时间:2014-08-06 12:12:47

标签: javascript

我对Javascript很新;在大约3天内新...我正在创建一个计算器,从三个输入字段中提取数据,然后计算出粗略的月度和年度总数。然后它使用此总数动态构建表。

在大多数情况下,我有一切工作,但有一个例外。如果有人在输入字段中键入逗号,它将只识别逗号前的值。例如,如果他们输入10,000;它会将其读作10.我试图将其置于基于正则表达式的替换中,但它似乎不起作用。我可能把它放在错误的地方,但我尝试了几种不同的方式,所以现在肯定。

以下是我遇到问题的代码部分。

    <input onblur="findTotal();" type="text" name="qty" id="qty1"/>
    <input onblur="findTotal();" type="text" name="qty" id="qty2"/>
    <input onblur="findTotal()" type="text" name="qty" id="qty3"/>

    <input disabled type="text" name="totalyr" id="totalyr"/>
    <input disabled type="text" name="totalmo" id="totalmo"/>

    <script type="text/javascript">
    function findTotal(){
        var getqty = document.getElementsByName('qty');
        var tot=0;
        for(var i=0;i<getqty.length;i++){
            if(parseInt(getqty[i].value))
                (tot += parseInt(getqty[i].value));
        }
        document.getElementById('totalmo').value = tot*4;
        document.getElementById('totalyr').value = tot*52;
    }
    </script>

我也尝试过输入数字,但是没有做任何事情。

非常感谢任何建议!

1 个答案:

答案 0 :(得分:0)

昨天有这个,这对我有用

    var getqty = document.getElementsByName('qty').value.replace(/,/g, "");

或类似

    var getqty = +document.getElementByName("qty").value.replace(/[^\de.-]/gi, "");