Сообщение от avanesov89
|
Собственно вопрос заключается в следующем: как присвоить класс .valid не input'у, а еще одному label'у ?
|
а html можно увидеть того что хотите получить ?
и посмотрите это ... для ошибок ввести 111
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<style type="text/css">
.hide{
display: none;
}
.hide.valid{
display: inline-block;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
<script>
$.validator.setDefaults({
submitHandler: function() {
alert("submitted!")
}
});
$.validator.addMethod("test", function(value, element) {
return !/(\d)\1{2,}/.test(value)
}, "Вот эта фигня не прокатит");
$(function() {
$("#commentForm").validate({
highlight: function(element, errorClass, validClass) {
$(element).addClass(errorClass).removeClass(validClass);
$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
var name = $(element).data("label");
var lab = $('[for="' + name + '"]');
lab.removeClass("valid")
},
unhighlight: function(element, errorClass, validClass) {
$(element).removeClass(errorClass).addClass(validClass);
$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
var name = $(element).data("label");
var lab = $('[for="' + name + '"]');
lab.addClass("valid")
},
rules: {
field: {
required: true,
test: true
},
num: {
required: true,
test: true
}
}
})
});
</script>
</head>
<body>
<form class="cmxform" id="commentForm" method="get" action="">
<fieldset>
<p><input class="left" id="num" name="num" data-label="m16"><label for="m16" class="hide" ><input class="left" id="m16" name="m16" value="всё ок в 1 поле"></label></p>
<p><input class="left" id="field" name="field" data-label="m24"><label for="m24" class="hide"><input class="left" id="m24" name="m24" value="всё ок во 2 поле"></label></p>
<p><input class="submit" type="submit" value="Submit"/></p>
</fieldset>
</form>
</body>
</html>