2016-07-18 64 views
1

如何自動替換帶點輸入中的所有逗號?在輸入Javascript中用點替換逗號

我有這個輸入:

<input type="text" id="test" onChange="testfunc()"> </input> 

這是我的工作至今:

function testfunc() { 
    var testnr = document.getElementById("test").value; 
    testnr = testnr.replace(/,/g, '.'); 
} 
+1

您可以簡單地通過使用'document.getElementById(「test」)。value = testnr' –

回答

4

testnr將存儲的價值,所以這testnr = testnr.replace(/,/g, '.');只會更改值不改變ÌNPUT,請試試這個:

<input type="text" id="test" onchange="this.value = this.value.replace(/,/g, '.')"/> 
+0

非常感謝你 –

+0

歡迎你,祝你好運。如果解決了這個問題,請將其標記爲已接受(這樣未來面對同樣問題的人將能夠輕鬆發現)。 –

+0

我會,但我必須再等2分鐘。我已經嘗試過這個c; –

3

後分配回輸入的值將它分配給DOM元素,而不是相同的變量

function testfunc() { 
    var testnr = document.getElementById("test").value; 
    document.getElementById("test").value = testnr.replace(/,/g, '.'); 
} 
-1

檢查這個撥弄它會建議你做

Fiddle

Javascript

var testnr = document.getElementById("test").value; 
testnr = testnr.replace(' ', '.'); 
alert(testnr) 

HTML

<input type="text" id="test" value="abcd efgh"> </input> 
0

你可以更簡單的方式做到這一點,如果它只是一個輸入元素的

<input type="text" onChange="this.value=this.value.replace(/,/g, '.');"/> 

如果有要應用此功能,那麼這種風格使用多個元素

<input type="text" onChange="myFunction(this)"/> 

<script> 
function myFunction(e) { 
    e.value=e.value.replace(/,/g, '.') 
} 
</script>