我正在使用 .NET 中的表单并使用标准字段验证器。如果用户单击“提交”按钮而不填写必填字段(requiredfieldvalidator
标签变为可见),我想要的是使输入字段更改背景颜色。
我通过requiredfieldvalidator
在输入字段之前添加一个来做到这一点。当用户单击“提交”按钮时,验证器从display:none
变为display:inline
。但我感兴趣的是在输入字段上设置不同的背景颜色,所以我做了这样的事情:
CSS
.error[style*="inline"] + input { background-color: #e8bab2; }
HTML
<span class="error" style="display:none;"></span>
<input type="text">
<input type="button" id="sendme" value="Send" />
JS(验证器处理这部分)
$(function() {
$("#sendme").click(function() {
$(".error").css("display","inline");
});
});
问题是当我单击按钮时,该字段在 Firefox 中会亮起红色,但在 Webkit(Chrome 19/Safari 5.1)中,输入字段在我单击输入字段之前不会改变背景颜色。
我创建了一个小提琴,比较 Firefox 和 Webkit 浏览器之间的行为。
(注:删除所有 JS 逻辑,使其更“干净”)