我有一个输入字段,其类型为数字,当使用数字键盘的SEPARATOR键(“。”或“Del”)插入小数位时,按该键时没有任何反应。这是由于PC上的本地化设置,某些语言使用SEPARATOR键(例如COMMA),而另一些则使用DOT。
由于类型数字,因此输入仅需要数字和逗号。在这种情况下,需要在键盘上使用不是很直观的常规COMMA键。
尽管设置了语言,我是否可以通过JavaScript(键事件侦听器)将SEPARATOR键的行为更改为始终为逗号?如何定义将逗号添加到值?
最佳答案
如果希望输入字段中的值包含逗号而不是点,则可以检查值中是否包含点,如果是,则将点更改为逗号。
inputField.onkeyup = checkForDot;
function checkForDot() {
if (inputBox.value.search(/\./) != -1) {
inputBox.value = inputBox.value.replace(/\./, ",")
}
// continue your code
}
Fiddle