2016-07-18 9 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; –

1

это не было назначено обратно к значению входа после выполнения замены

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>