Javascript 完成时更改文本输入背景,不包括占位符

Javascript 完成时更改文本输入背景,不包括占位符,javascript,css,Javascript,Css,我想在用户输入一些文本时更改输入的背景颜色,但我的输入也有占位符,我不希望仅更改占位符内容的颜色 如何使用纯Javascript实现这一点 <input type="text" placeholder="Enter your email adress"> if (formInput.length > 0) { formInput[0].style.backgroundColor = "#f9f9f9"; } 如果(formInput.length>0){ form

我想在用户输入一些文本时更改输入的背景颜色,但我的输入也有占位符,我不希望仅更改占位符内容的颜色

如何使用纯Javascript实现这一点

<input type="text" placeholder="Enter your email adress">

if (formInput.length > 0) {
    formInput[0].style.backgroundColor = "#f9f9f9";
}

如果(formInput.length>0){
formInput[0]。style.backgroundColor=“#f9f9f9”;
}

正如您所想象的,即使页面加载时有占位符,也会改变背景颜色

这就是你要找的吗

el=document.getElementById(“电子邮件”);
el.onkeyup=功能(evt){
el.style.background=“红色”;
如果(el.value.length==0)
el.style.background=“无”;
};

这就是你要找的吗

el=document.getElementById(“电子邮件”);
el.onkeyup=功能(evt){
el.style.background=“红色”;
如果(el.value.length==0)
el.style.background=“无”;
};

只需检查输入值:

let input=document.querySelector(“输入”);
addEventListener(“输入”,函数(){
如果(input.value.length>0)
input.style.background=“#ff0000”;
其他的
input.style.background=“无”;
})

只需检查输入值:

let input=document.querySelector(“输入”);
addEventListener(“输入”,函数(){
如果(input.value.length>0)
input.style.background=“#ff0000”;
其他的
input.style.background=“无”;
})

检查输入值的长度。此外,在输入中没有任何内容时重置颜色

(颜色变为红色以更明显)

let input=document.querySelector('input');
addEventListener('input',function(){
this.style.backgroundColor=(this.value.length>0)?'lightcoral':'';
});

检查输入值的长度。此外,在输入中没有任何内容时重置颜色

(颜色变为红色以更明显)

let input=document.querySelector('input');
addEventListener('input',function(){
this.style.backgroundColor=(this.value.length>0)?'lightcoral':'';
});

不会改变颜色吗?会的,OP给出的颜色是浅的。是的,但是当我从输入中删除文本时,背景颜色保持不变。有没有办法在清除输入时重置颜色?@user8993934已更新。没有更改颜色?确实如此,OP提供的颜色是浅的。是的,但当我从输入中删除文本时,背景颜色保持不变。有没有办法在清除输入时重置颜色?@user8993934已更新。您的代码有问题。键入单个字符后,它不会改变颜色,即使删除它,直到再次键入后,它也不会改变颜色。@Highdef corrected:)使用了错误事件!复制/粘贴错误;)是的,就是这样!:)谢谢!:)你的代码有问题。键入单个字符后,它不会改变颜色,即使删除它,直到再次键入后,它也不会改变颜色。@Highdef corrected:)使用了错误事件!复制/粘贴错误;)是的,就是这样!:)谢谢!:)