默认情况下,jQuery.validate似乎不会更改无效元素的背景颜色。是否还可以更改,但我需要一个指示元素的背景颜色,但它从未恢复到先前的样式:
$('form[name="register"]').validate({ errorClass: 'jqInvalid', rules: { fnameCreate: "required", //input monthCreate: "required", //select emailCreate: { required: true, email: true }, //input passwordCreate: "required", //input type=password }, messages: { fnameCreate: "", monthCreate: "", emailCreate: "", passwordCreate: "", }, errorPlacement: function (error, element) { element.css('background', '#ffdddd'); } });
编辑(示例)
<div class="field">
<div class="labelName_fb">
<label for="email">Email</label>
</div>
<div class="divforText3">
<div class="divLeft"></div>
<div class="textbox-image3">
<input class="txt required" id="emailCreate" name="emailCreate" value="" maxlength="100" type="text" style='width:180px'>
</div>
<div class="divright"></div>
</div>
</div>
当输入元素在错误时被赋予了 jqInvalid
错误类。
CSS
/* line 3 */ .error { background: #ffdddd; } /* I have since removed the errorClass option */
/* line 254 */ .field .txt {background:transparent none repeat scroll 0 0;border:medium none;color:#000;font-size:11px;width:130px; margin:5px 0;}
.error
类被添加到元素中。但是,我的CSS无法覆盖它。在Firebug中,CSS存在(在活动CSS下面),但被划掉了。 - David Fox.field .txt
,其中.field
是包裹盒子的 div,.txt
直接应用。如果 class 属性为class="txt jqInvalid"
,我认为.txt
和.jqInvalid
(或错误)样式都会被应用? - David Foxelement.style { width: 180px;}
之外的任何其他CSS,它出现在.field .txt
样式上方。 - David Fox