2016-06-11 51 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/