在项目中使用了jQuery-easyui的验证插件:
<input type="text" class="easyui-validatebox" required="true">
却发现必填项验证失败后会出现一个讨厌的红色边框,而且不在任何css样式中,怎么也无法改变。
更惊奇的是去掉easyui有关的css及js,这个讨厌的边框仍然存在!!
突然想到html5有required这个属性,会不会是无意中“被html5”了,去掉required="true"后,果然没事了,看来确实是被html5了。
但是文档声明里明明有写:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
但firefox仍然会解析required属性。望知道原因的人能告诉我。
google了半天,终于找到了解决办法:
input:required:invalid, input:focus:invalid { /* insert your own styles for invalid form input */ -moz-box-shadow: none; }
可以改变验证失败后的样式。
更多信息见:http://www.the-art-of-web.com/html/html5-form-validation/ 《HTML: HTML5 Form Validation Examples》