【发布时间】:2013-11-21 02:29:34
【问题描述】:
我想在表单中添加/删除error css 类。
$("#my-form").validate({
invalidHandler: function (event, validator) {
// 'this' refers to the form
var errors = validator.numberOfInvalids();
if (errors) {
$(this).addClass("error");
} else {
$(this).removeClass("error");
}
},
});
这种方法的问题:
当我使用$("#my-form").validate().form() 验证表单时,它会自动将error css-class 添加/删除到每个控件,例如输入。通过添加invalidHandler,这还将添加/删除整个表单的error css-class。
一旦我使用validator.resetForm() 清除消息,这将从子控件而不是表单中重置 css 类。我希望它通过使用绑定或任何其他类型的触发此操作的处理程序自动从表单中删除 css 类(从表单中删除 css 类)。
我该如何解决这个问题?
来源:http://jqueryvalidation.org/validate/
更新 这是一个愚蠢的例子:http://jsfiddle.net/F2Re4/ 我手动删除了这个类(在这个例子中,我调用了这个类:'error-form')
【问题讨论】:
-
不确定你在做什么。默认情况下会自动添加和删除
error类。 -
这只会发生在我们正在验证的每个元素上,但不会发生在表单上。
-
我不知道你想要什么。创建一个 jsFiddle 演示,以便我可以解决这个问题。
标签: javascript jquery forms jquery-validate