【发布时间】:2020-12-31 14:43:57
【问题描述】:
我已经根据输入的有效性设置了不断变化的输入背景颜色。
然后我用这段代码检查颜色:
let elem = document.getElementById("UserInput");
console.log(elem);
let theStyle = window.getComputedStyle(elem, "").getPropertyValue("background-color");
if (theStyle === "rgb(234, 198, 198)") {
document.getElementById("Submit").disabled = true;
}
if (theStyle === "rgb(251, 250 ,245)") {
document.getElementById("Submit").disabled = false;
}
input[type="number"]+div {
display: none;
}
input[type="number"]:valid {
background-color: #fbfaf5;
}
input[type="number"]:invalid {
background-color: #eac6c6;
}
input[type="number"]:invalid+div {
display: block;
color: #c66464;
}
<input type="number" id="UserInput" class="form-control" autocomplete="off" min="0" max="99999" step="0.01" value="" required />
<input type="submit" id="Submit" />
我唯一缺少的是如何在活动时连续检查颜色(它已经在被调用的函数中)。目前“禁用”是真的,因为 rgb 是红色的。但是当我改变颜色时,即我使用正确的输入,然后我想启用提交按钮。所以,我想我需要一个 eventListener,但我无法完全了解上下文。
【问题讨论】:
-
你能展示一下 HTML 结构吗?所以我们会知道事件监听器应该是什么样子,以防这是您问题的正确解决方案?知道您可以添加一个代码 sn-p,这将使您更容易回答您的问题:meta.stackoverflow.com/questions/269753/…
-
好的,我会加进去的。谢谢。
标签: javascript html css validation input