Javascript 如果字段有值,请更改边框颜色

Javascript 如果字段有值,请更改边框颜色,javascript,Javascript,我想根据是否有值来更改输入的边框颜色。我不明白为什么这个条件不起作用。它不是在检查字段是否为空,并且如果在输入中输入了某些内容,则应将其放入else部分吗 类验证 { 构造函数(字段、通知消息){ this.field=字段; this.noticeMessage=noticeMessage; } 有效(){ console.log('coucou'); this.field.style.borderColor=“绿色”; this.noticeMessage.style.display=“无

我想根据是否有值来更改输入的边框颜色。我不明白为什么这个条件不起作用。它不是在检查字段是否为空,并且如果在输入中输入了某些内容,则应将其放入
else
部分吗

类验证
{
构造函数(字段、通知消息){
this.field=字段;
this.noticeMessage=noticeMessage;
}
有效(){
console.log('coucou');
this.field.style.borderColor=“绿色”;
this.noticeMessage.style.display=“无”;
返回true;
}
无效(){
this.field.style.borderColor=“红色”;
this.field.focus();
this.noticeMessage.style.display=“block”;
返回false;
}
空的(){
如果(this.field.value==“”){
这是无效的();
}
否则{
这个.valid();
}
}
}
const titleValidation=新验证(document.getElementById('name')、document.getElementById('name-notice');
titleValidation.empty()

    必须填写姓名输入
名称
它不是在检查字段是否为空,并且如果在输入中输入了某些内容,则应转到else部分吗

是的,但是想一想当它这样做的时候

它在调用
empty()
时执行,而您仅在加载文档时执行此操作


如果要再次运行测试,则需要再次调用该函数。e、 g.您可能希望在输入元素上创建一个侦听器。

您不希望在加载程序时进行一次验证,但希望在输入发生更改时进行更新。可以通过将事件侦听器附加到输入事件来实现这一点:

constructor(field, noticeMessage) {
    this.field           = field;
    this.noticeMessage   = noticeMessage;

   this.field.addEventListener("input", () => this.empty());
   this.empty();
}

这回答了你的问题吗?