2

我正在尝试将红色边框颜色的错误类应用于我的文本输入字段,如下所示:

jQuery

//save
...
$("input.required").each(function(){
    if ($.trim($(this).val()).length == 0){                               
        $(this).addClass("form_error");
        formValid = false;
    }
    else{
        $(this).removeClass("form_error");
    }
});

HTML

<div class="control-group">
  <label class="control-label" for="city_id">City</label>
  <div class="controls">
    <input class="span2 required" type="text" value="" name="test" id='testId'/>
  </div>
</div>

CSS

textarea,
input[type="text"]{
  border: 1px solid #cccccc;
}

.form_error {
  border-color: #ee5f5b;
  border: 1px solid #ee5f5b;
}

这适用于我的选择元素,但不适用于文本输入。知道我错过了什么吗?

4

2 回答 2

2

如果我删除了这对我有用

textarea,
input[type="text"]{
  border: 1px solid #cccccc;
}

部分。我猜你的课程正在被应用,但元素样式最后被应用并最终获胜。

如果删除上面的部分不是一个选项,您也可以尝试将 .form_error 更改为

.form_error {
  border-color: #ee5f5b;
  border: 1px solid #ee5f5b !important;
}

这将确保 .form_error 的样式优于元素样式。这有点笨拙,但它会起作用(至少在我正在测试的 Chrome 中)。

于 2012-07-27T17:59:31.667 回答
0

您可能还需要指定边框样式:

border: 1px solid #ee5f5b;
于 2012-07-27T17:42:21.077 回答