当输入有值时,为什么不应用我的样式?

时间:2018-03-30 17:32:20

标签: javascript html5

验证HTML 5文本框。如果在提交表单时没有值,我只想强调该文本框borederColor为red。如果存在值,我想使用文本框的默认行为。

请在下面找到我的代码。如果值不存在,则能够将borderColor显示为red。但是,当文本框中存在值时,无法重置文本框的默认行为(如默认bordercolor)。我不确定,这里出了什么问题。

var check = document.getElementById('first_name').value;
if ( check == "") {
    document.getElementById('first_name').style.borderColor = "red";
} else {
    document.getElementById('first_name').style.borderColor = "#eee";
}

4 个答案:

答案 0 :(得分:0)

试试这个:)

var LastUpdatedAt =  ctx.SearchedUsers.Where(x => x.SearchedUserID == item.SearchedUserID).FirstOrDefault().LastUpdatedAt;
DateTime.Now.AddMonths(1);

答案 1 :(得分:0)

你甚至不需要JS

<style>/*only need one of these for all your inputs*/
input:invalid {
  border: 2px solid red;
}
</style>

<input type="text" required/>

进一步阅读https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Form_validation

答案 2 :(得分:0)

您需要绑定事件侦听器onchange

var el = document.getElementById('first_name');

el.addEventListener('onchange', function(){
  var check = document.getElementById('first_name').value;
  if ( check == "") {
    document.getElementById('first_name').style.borderColor = "red";
  } else {
    document.getElementById('first_name').style.borderColor = "#eee";
  }
})

答案 3 :(得分:0)

只有以下代码适用于我。

self.collection.ensure_index('email', unique=True, dropDups=True)