在输入类型=数字中将点转换为逗号

时间:2017-02-13 12:03:52

标签: javascript jquery

我正在尝试使用JS或JQuery提出一个使用type="number"在输入字段中将点转换为逗号的解决方案。

问题是双重的:

1)无论点在输入字段中的位置,都需要替换点。值可以是例如:

0.50

.45

12.45

12.

2)我不能使用keyup作为触发器。该字段由外部连接的刻度填充,该刻度一次性发送数字,包括点。

我希望有人可以帮助解决这个问题,它确实是我的目标。

**更新** 我设法让这段代码工作,但只有输入是TEXT。如果我使用NUMBER,它只是擦除输入干净(我需要它为NUMBER才能使用数字执行其他页面计算)。

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

谢谢,

2 个答案:

答案 0 :(得分: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" />

答案 1 :(得分:0)

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

将数字转换为字符串,然后使用.replace(".",",")