我有一个输入字段,其类型为数字,当使用数字键盘的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

08-18 05:15
查看更多