gpt4 book ai didi

javascript - 为什么我触发函数时input type = number值为空

转载 作者:行者123 更新时间:2023-11-30 13:59:58 28 4
gpt4 key购买 nike

当我输入一个数字时,它会给我输入的第一个数字的电子代码,如果我输入另一个数字,它会给我输入数字的电子代码,但它的值是第一个数字值

   var input = document.getElementById('w-input');
var kg = document.getElementById('kg');

input.addEventListener('keypress', function (e) {
if (e.code === 'Numpad1'|| e.code==='Numpad2'|| e.code==='Numpad3' ||
e.code==='Numpad4'|| e.code==='Numpad5'|| e.code==='Numpad6'||
e.code==='Numpad7'|| e.code==='Numpad8'|| e.code==='Numpad9'||
e.code==='Numpad0') {
console.log(e.code);
lbsToKg();
}
});

function lbsToKg() {
console.log(input.value);
kg.innerHTML = input.value * 0.45359237;

}

它应该获取输入值并将其与数字相乘但它不相乘得到 1-9 数字 0 表示该值为空。如果我键入 12,它会给出 0.45359237,因为结果意味着它乘以 1 而不是 12

最佳答案

Kamil 回答了为什么值不正确的问题,但您还可以减少用于检查按下的键的代码量,您可能会发现这很有用。

var input = document.getElementById('w-input');
var kg = document.getElementById('kg');

input.addEventListener('keyup', function(e) {

// grab the code and the value from the event
const { code, target: { value } } = e;

// if the code is "Numpad" followed by a number call the function
// with the value
if (/Numpad[0-9]/.test(code)) lbsToKg(value);
});

function lbsToKg(value) {
kg.innerHTML = value * 0.45359237;
}

文档

关于javascript - 为什么我触发函数时input type = number值为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56479155/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com