我有一个jquery表格。验证工作正常,但我希望错误放置正确。现在它在IE 7中显示为:
alt text http://img412.imageshack.us/img412/1810/errorhma.jpg
但我想将其显示为:
alt text http://img520.imageshack.us/img520/7089/error1ace.jpg
这是css代码:
div.error { display:none; }
<%-- input { border: 1px solid black; }--%>
input:focus { border: 1px dotted black; }
input.error { border: 2px solid red; }
label.error { color: white; font-size:16px; font-family:Nyala; background-color: red }
label.valid { color: green; }
答案 0 :(得分:4)
尝试label.error {display:block;}
答案 1 :(得分:3)
您可以使用errorPlacement控制错误消息的位置。默认值为“error.insertAfter(element)”。您可以使用其中一个例如:
errorPlacement: function(error, element) {
error.insertBefore( element );
//error.appendTo( element.parent().next() );
//error.appendTo(label.insertAfter( element ));
//error.insertAfter(element.sibling(a));
}
甚至在这里放一些条件并使用其他陈述:
errorPlacement: function(error, element) {
if ( element.is(".something") ) {
element.nextAll('div').html(error);
} else {
error.insertAfter( element );
}
}
希望有所帮助
答案 2 :(得分:1)
有几个问题,第一个是错误着色显示为围绕输入元素元素。因此,您需要使用error div来包含input元素,或者只是更改表单元素的容器颜色。我正在投票改变容器的颜色。
其次,您希望div.error在左侧和右侧清晰(假设您只是更改表单元素的容器颜色),所以只需添加:
div.error {
clear: both;
}
这当然假设由于某种原因你把它漂浮到左边。在任何情况下,请参阅一个简单的示例,了解一种解决方法