在项目中使用了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》