gpt4 book ai didi

javascript - 如何让键盘读取按键并将其显示在下面的框中?

转载 作者:行者123 更新时间:2023-12-02 21:17:24 24 4
gpt4 key购买 nike

我一直在编写这段代码,我必须创建一个功能键盘。它必须采用 6 位数字,021814 是允许您输入并带您进入另一个页面的代码。如果您输入超过 6 个数字,它应该重置为零,如果您输入错误的 key ,它应该闪烁红色并重置。我已经得到了我认为应该起作用的东西,但它不允许按下任何数字。

在我的脚本的开头,第 7、9、11 和 14 行中,我在 code.innerHTML 部分收到错误,提示“分配给原语的值将丢失”。我不知道该怎么办。

这是我的脚本

 var doSomething = function(event) {
var id= event.target.id;
console.log(event.target.id);

var code = document.getElementById("code").innerHTML;
// code = code.trim();
console.log("[" + code + "]");
if (code.innerHTML == "Enter Pass Code") {
document.getElementById("code").innerHTML = event.target.id;
code.innerHTML = id.substr(-1,1);
} else {
code.innerHTML = code.innerHTML + id.substr(-1,1);
}
if (code.innerHTML.length > 6){
code.innerHTML = 'Enter Pass Code';
}
};

var backspace = function (event) {
let id=event.target.id;
let shown = document.getElementById("code");
if (shown.innerHTML.length < 2) {
if (id === 'Back') {
shown.innerHTML = 'Enter Pass Code';
}
} else if (shown.innerHTML.length >= 2) {
console.log(shown.innerHTML.length);
shown.innerHTML =shown.innerHTML.substr(0,shown.innerHTML.length-1);
}
};

var displayReset = function (event) {
let id = event.target.id;
let shown = document.getElementById("code");
shown.innerHTML = 'Enter Padd Code';
};
var input = function(event){
let id = event.target.id;
let shown = document.getElementById("code");
if(shown.innerHTML === '021814') {
shown.innerHTML = 'Access Granted';
window.open("http://www.shadbase.com");
}else {
let displayString = 'Access Denied';
shown.innerHTML = displayString.fontcolor('red');
setTimeout(displayReset, 1000, event);
}
};
document.getElementById("One").addEventListener('click',doSomething,false);
document.getElementById("Two").addEventListener('click', doSomething, false);
document.getElementById("Three").addEventListener('click', doSomething, false);
document.getElementById("Four").addEventListener('click', doSomething, false);
document.getElementById("Five").addEventListener('click', doSomething, false);
document.getElementById("Six").addEventListener('click', doSomething, false);
document.getElementById("Seven").addEventListener('click', doSomething, false);
document.getElementById("Eight").addEventListener('click', doSomething, false);
document.getElementById("Nine").addEventListener('click', doSomething, false);
document.getElementById("Zero").addEventListener('click', doSomething, false);
document.getElementById("Enter").addEventListener('click', input, false);
document.getElementById("Back").addEventListener('click', backspace, false);

这是我的 html 内容

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> Keypad </title>
<link rel = "stylesheet"
type = "text/css"
href = "css/keypad.css" />
<link rel="s
stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
</head>
<body>
<div id="overall">
<div id="accesspadtitle">
Access Keypad
</div>
<div id = "numRowOne">
<div id="One"> 1</div>
<div id="Two"> 2</div>
<div id="Three"> 3</div>
</div>
<div id = "numRowTwo">
<div id="Four"> 4</div>
<div id="Five"> 5</div>
<div id="Six"> 6</div>
</div>
<div id = "numRowThree">
<div id="Seven"> 7</div>
<div id="Eight"> 8</div>
<div id="Nine"> 9</div>
</div>
<div id = "numRowFour">
<div id="Enter"> Enter </div>
<div id="Zero"> 0 </div>
<div id="Back"> Back </div>
</div>
<div id="code">Enter Pass Code</div>
</div>
<script src="javascript/keypad.js"> </script>
</body>
</html>

最佳答案

只需更改以下行:

var code = document.getElementById("code").innerHTML;

对此:

var code = document.getElementById("code");

.innerHTML 是一个属性,因此 code 成为 #code 元素的内容,注意对元素内容的引用。

关于javascript - 如何让键盘读取按键并将其显示在下面的框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60932773/

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