Javascript 验证成功后从jQuery.validator中删除样式
我有以下代码,在使用jQuery验证插件时将自定义css样式添加到我的表单中Javascript 验证成功后从jQuery.validator中删除样式,javascript,jquery,validation,Javascript,Jquery,Validation,我有以下代码,在使用jQuery验证插件时将自定义css样式添加到我的表单中 $(document).ready(function() { jQuery.validator.setDefaults({ errorPlacement: function(error, element) { // Adds the red outline element.parent().addClass("error"); // Adds
$(document).ready(function() {
jQuery.validator.setDefaults({
errorPlacement: function(error, element) {
// Adds the red outline
element.parent().addClass("error");
// Adds the red cross
element.siblings(".error_status").addClass('check');
// Removes the default error
element.removeClass("error");
}
});
$("#form").validate();
});
为每个元素设置以下html样式:
<div class="row">
<label for="id-3"><span>Email address:</span><span class="mark">*</span>
<input type="text" class="text required" id="id-3" name="email"/>
<span class="error_status"></span>
</div>
电邮地址:*
我遇到的问题是,我不知道如何在成功验证后删除样式。您可能希望使用
高亮显示
和取消高亮显示
回调(文档化),而不是错误放置
。这样,您就不必手动从元素中删除error
类:
jQuery.validator.setDefaults({
highlight: function(element, errorClass) {
var $element = $(element);
// Add the red outline.
$element.parent().addClass(errorClass);
// Add the red cross.
$element.siblings(".error_status").addClass("check");
},
unhighlight: function(element, errorClass) {
var $element = $(element);
// Remove the red cross.
$element.siblings(".error_status").removeClass("check");
// Remove the red outline.
$element.parent().removeClass(errorClass);
}
});
“验证成功后删除样式”是什么意思?验证成功后,数据将发送到服务器。你能在jsFiddle.net上提供一个例子吗?很好,解决了这个问题。然而,似乎元素不是元素对象,而是html?我将$(element).sib。。。没错,回调实际上是用DOM元素而不是jQuery对象调用的,而不仅仅是element.sibYou。答案相应更新,感谢您的反馈:)