2017-02-13 3 views
0

Я пытаюсь найти решение для преобразования точки в запятую в поле ввода с type="number", используя JS или JQuery.Преобразование точки в запятую в input type = number

Проблема состоит из двух частей:

1) Необходимо, чтобы независимо от того, где он находится в поле ввода заменить точку. Значения могут быть, например:

0.50 

.45 

12.45 

12. 

2) Я не могу использовать keyup в качестве триггера. Это поле заполняется внешней шкалой, которая отправляет число, включая точку, за один раз.

Я надеюсь, что кто-то может помочь с этим, это действительно делает мою голову.

** UPDATE ** мне удалось получить этот кусок кода, чтобы работать, но только если вход TEXT. Если я использую NUMBER, он просто стирает входной чистый (и мне нужно, чтобы он был NUMBER, чтобы выполнять другие вычисления на странице с номером).

document.getElementById('purchaseQuantity').addEventListener('input', function() { 
    document.getElementById('purchaseQuantity').value = this.value.replace('.', ',') 
}); 

Спасибо,

+0

Получить значение, прежде чем он будет установлен на входе и изменить его там – Weedoze

+0

вы можете использовать 'OnChange 'событие? –

+0

Weedoze, Как я могу это сделать? Он вводится непосредственно во вход, так же, как и Ctrl + V. Gulfaran, onchange только срабатывает, когда пользователь переходит от поля ввода, нет? –

ответ

1

Используйте скрытое поле с именем и обновить значение в пределах обработчика.

document.getElementById('number').addEventListener('input', function() { 
 
    document.getElementById('hidden').value = this.value.replace('.', ',') 
 
})
<input type="number" id="number" /> 
 
<input type="hidden" name="number" id="hidden" />

+0

Привет, это не работает для меня? Даже здесь, в Stackoverflow, я нажимаю «Run code snippet», но когда я помещаю число с точкой, ничего не меняется. –

+0

@AndreasBB: значение будет обновляться в скрытом поле –

0

var numComma = (value.toString()).replace(".", ",")

Преобразование числа в строку, а затем использовать .replace(".",",")

Смежные вопросы