javascript - 当我在特定文本框中按 Enter 时,如何使文本框一次更改一个背景颜色(当有多个文本框时)?
问题描述
我试图弄清楚如何创建一个包含多行文本框的表单,当参与者在每个文本框中键入他们的响应并按 Enter 键时,文本框的背景从白色变为黑色,以隐藏他们的响应刚进。但是目前,当我在第一个文本框上按 Enter 键时,所有文本框都从白色变为黑色,或者最后一个文本框变为黑色,而不仅仅是第一个文本框。有什么解决办法吗?由于我正在使用的平台使用基于 javascript 的语言,因此我尝试将代码转换为 javascript,但我不确定它是否准确。谢谢,非常感谢任何帮助!
function enter(e) {
if (e.keyCode == 13)
document.getElementById("response1").style.backgroundColor = "red";
}
function enter(e) {
if (e.keyCode == 13)
document.getElementById("response2").style.backgroundColor = "red";
}
function enter(e) {
if (e.keyCode == 13)
document.getElementById("response3").style.backgroundColor = "red";
}
解决方案
enter()
您对每个元素都有相同的功能。难怪他们都火了。试试这个方法:
function enter(e) {
if (e.keyCode == 13) {
let tocolor;
switch (e.target.name) {
case "nameattributeoftextbox1": tocolor = "response1"; break;
case "nameattributeoftextbox2": tocolor = "response2"; break;
...
}
document.getElementById(tocolor).style.backgroundColor = "red";
}
}
推荐阅读
- python - pyqt5 combobox.clear() 导致不清楚的问题
- python - 创建具有任何给定比率的列均值的数据组
- html - 父级匹配子 div 高度之一
- python - 尝试注册用户并通过电子邮件发送令牌时 django 上的 gaierror
- c - munmap_chunk():无效指针:0x0000000000b31c60 [C 语言]
- java - 无法在项目 Myproject 上执行目标 org.eclipse.jetty:jetty-maven-plugin:9.4.5.v20170502:run (default-cli) 失败
- c# - C#将ComboBox传递给单独类的函数
- javascript - 带有 fetch 的云功能无法正确部署
- excel - Typescript 中的 HTTP Post 响应以更新谷歌电子表格
- php - 重定向到特定文件夹-PHP