Javascript 将表单字段从整数自动更新为十进制 我有两个表单字段供用户输入千克重和米长,大多数用户考虑厘米的长度,这会造成错误的计算。在输入整数的情况下,我可以自动更新表单吗?(例如,170将自动转换为1.7)?

Javascript 将表单字段从整数自动更新为十进制 我有两个表单字段供用户输入千克重和米长,大多数用户考虑厘米的长度,这会造成错误的计算。在输入整数的情况下,我可以自动更新表单吗?(例如,170将自动转换为1.7)?,javascript,integer,decimal,auto-update,Javascript,Integer,Decimal,Auto Update,您可以检查该值是否为如下所示的整数: var isInt = function(n) { return n % 1 === 0; } 下面是一个js小提琴,展示了这一点 HTML 您可以使用onchange事件检查“dot”字段的值 /\./.test(fieldValue) 如果为false,将该值转换为number(+,number(),parseInt())并进行除法,然后更新该输入字段的value属性非常感谢@Krasimir,这正是我所需要的。但是,我不知道为什么它不起作用,

您可以检查该值是否为如下所示的整数:

var isInt = function(n) {
   return n % 1 === 0;
}
下面是一个js小提琴,展示了这一点

HTML


您可以使用onchange事件检查“dot”字段的值

/\./.test(fieldValue)

如果为false,将该值转换为number(+,number(),parseInt())并进行除法,然后更新该输入字段的value属性

非常感谢@Krasimir,这正是我所需要的。但是,我不知道为什么它不起作用,即使我在一个简单的html页面中测试它也不起作用。你知道吗?UncaughtTypeError:无法调用null的方法'addEventListener',这是因为你可能直接使用了我的代码。您需要更改getElementById函数中字段的id。我在一个空白html文件中使用相同的代码进行测试,该文件只包含输入表单和js。好的,使用相同的代码制作一个JSFIDLE,我将能够帮助您。根据您所说的,我认为您在getElementById函数中没有使用正确的id。
var field = document.getElementById("field");
field.addEventListener("change", function() {
    var value = field.value;
    if(isInt(value)) {
        field.value = value = value / 100;
    }
});
var isInt = function(n) {
   return n % 1 === 0;
}
/\./.test(fieldValue)