2016-06-11 50 views
0

我正在尝试使用JavaScript获取带逗号的数字,但它不起作用。请检查我的代码,并让我知道我出错的地方。请不要将此问题标记为重复;我知道这个问题之前已经被问过了,但它并没有帮助我。 在此先感谢。 这里是我tried-使用逗号在适当的位置添加数字

function numberWithCommas() { 
    var x = document.getElementById('abc').value; 
    x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
} 

HTML代码 -

<input type="text" onblur="calculate(); numberWithCommas()" name="abc" id="abc" placeholder="abc" /> 
+0

答案中的代码[这里](http://stackoverflow.com/questions/149055/how-can-i-format-numbers-as-money- in-javascript)可以提供帮助 – Terminus

回答

0

我在你的代码的onblur您尝试initiliaze两个功能看:计算()和numberWithCommas()。在上面的代码中,函数calculate()没有被定义。确保它在你的最终代码中,否则你会得到一个Reference Error,代码将不会像你期望的那样运行。

我做了一个测试,你的代码似乎在numberWithCommas()函数中工作正常。只有您需要为输入表单分配添加逗号的新值。请看看下面的代码:

JS

function numberWithCommas() { 
    var x = document.getElementById('abc').value; 
    var y = x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
    document.getElementById('abc').value = y; 
} 

HTML:

<input type="text" onblur="numberWithCommas()" name="abc" id="abc" placeholder="abc" /> 

你可以看到,我删除了计算()函数,因为它不是在代码中定义你所示。但是,当然,如果它存在于最终代码片段中,则可以使用它。 你有一个小提琴这里的工作示例:https://jsfiddle.net/fxduzemx/