如何对待用户';输入并存储它以便在Javascript函数中使用?
绝对初学者,并试图创建一个非常简单的十进制到二进制转换器。我知道Javascript中有更简单/更干净的方法可以转换成不同的数字基,但我喜欢从头开始创建自己的脚本。代码如下:如何对待用户';输入并存储它以便在Javascript函数中使用?,javascript,html,function,variables,Javascript,Html,Function,Variables,绝对初学者,并试图创建一个非常简单的十进制到二进制转换器。我知道Javascript中有更简单/更干净的方法可以转换成不同的数字基,但我喜欢从头开始创建自己的脚本。代码如下: <!DOCTYPE html> <html> <head> <title>GetBit</title> </head> <body> <h1>Decimal to Binary</h1> <p
<!DOCTYPE html>
<html>
<head>
<title>GetBit</title>
</head>
<body>
<h1>Decimal to Binary</h1>
<p><input type="number" min="0" id="decimal"</p>
<button type="button" onclick="getBit()">Submit</button>
<p>here is your answer:</p><p id="binary"></p>
<script>
function getBit() {
var n = document.getElementById("decimal").value;
if (n >= 2) {
bit = (n % 2) + "" + bit;
return getBit(n = Math.floor(n/2), bit)
} else {
bit = 1 + "" + bit;
return bit
}
var bit = document.getElementById("binary").innerHTML;
}
</script>
</body>
</html>
如何将其转换为HTML中的元素让我感到困惑。感谢您的帮助 您需要改变您的表达式:
document.getElementById("binary").innerHTML = bit
原始表达式会将所选DOM元素的当前HTML内容分配到变量bit
中
document.querySelector(“#十进制”).addEventListener('input',function(ev){
document.getElementById(“二进制”).innerHTML=getBit(ev.target.value)};
函数getBit(n,bit=”“){
如果(n>=2){
位=(n%2)+“”+位;
return getBit(n=Math.floor(n/2),位)
}否则{
位=+n+“”+位;
返回位
}
}
十进制到二进制
在二进制中,这是:
还请注意,您的第一个输入未关闭。Fwiw,keyup
不适用于“数字”输入(数字滚轮),必须键入值。请注意。根据所使用的浏览器和操作系统,这些输入类型的处理方式似乎有所不同。它在我的(旧的)Android手机上运行良好。也许这会有帮助:?也许input
事件现在也适用于你的数字滚轮?我刚换了我的职位,现在对我很有效。检查铬和FFox。(顺便说一句,语句末尾缺少3个分号)。
document.getElementById("binary").innerHTML = bit