Показать сообщение отдельно
  #2 (permalink)  
Старый 01.11.2015, 21:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

Сообщение от 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>
Ответить с цитированием