Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么输入类型=当我触发函数时数值为空_Javascript_Html - Fatal编程技术网

Javascript 为什么输入类型=当我触发函数时数值为空

Javascript 为什么输入类型=当我触发函数时数值为空,javascript,html,Javascript,Html,当我输入一个数字时,它给出我输入的第一个数字的e.code,输入值为空,如果我输入另一个数字,它给出的是该数字的e.code,但它的值是第一个数值 var input = document.getElementById('w-input'); var kg = document.getElementById('kg'); input.addEventListener('keypress', function (e) { if (e.

当我输入一个数字时,它给出我输入的第一个数字的e.code,输入值为空,如果我输入另一个数字,它给出的是该数字的e.code,但它的值是第一个数值

   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。使用
keyup
在输入更改值后触发

功能打印(inp,e){
控制台日志(输入值);
}

Kamil回答了为什么该值不正确的问题,但您也可以减少检查按键时使用的代码量,这可能会对您有用

var-input=document.getElementById('w-input');
var kg=document.getElementById('kg');
input.addEventListener('keyup',函数(e){
//从事件中获取代码和值
常量{代码,目标:{value}}=e;
//如果代码是“Numpad”,后跟一个数字,则调用该函数
//有价值
如果(/Numpad[0-9]/.test(代码))lbsToKg(值);
});
功能lbsToKg(值){
kg.innerHTML=值*0.45359237;

}
您可以使用e.which