Проверка JQuery - без метки - добавить к существующему элементу, это можно сделать? - PullRequest
0 голосов
/ 22 июля 2011

Мне нужна помощь, так что я думаю, что пришел в нужное место.Что мне нужно, это способ добавить класс ошибки / обязательный информационный класс для формирования полей, которые не являются правильными / действительными.

На данный момент у меня есть это:

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contactform">
    <div class="_required"><p class="label_left">Name*</p>
        <input type="text" size="50" name="contactname" id="contactname" value="" class="required" />
    </div>
    <br/><br/>
    <div class="_required">
        <p class="label_left">E-mail address*</p>
        <input type="text" size="50" name="email" id="email" value="" class="required email" />
    </div>
    <br/>
    <br/>
    <p class="label_left">Message</p>
    <textarea rows="5" cols="50" name="message" id="message" class="required">
    </textarea>
    <br/>
    <input type="submit" value="submit" name="submit" id="submit" />
</form>

С битом jquery: $ ("# contactform"). validate ({

) Но я не хочу, чтобы ошибка появлялась в или любом другом элементе, а не в этом элементе div в форме: потому что я хочу обернуть его в цвет фона.

Итак, как мне это сделать ... это можно сделать?>

Любая помощь или направление было бы здорово, это мой первый вкус Jquery

Ответы [ 3 ]

1 голос
/ 23 июля 2011

Вы можете заменить стандартную отчетность плагина следующим образом:

$('#contactform').validate({
            showErrors: function(errorMap, errorList) {

                //restore the normal look
                $('#contactform div.required').removeClass('required').addClass('_required');

                //stop if everything is ok
                if (errorList.length == 0) return;

                //Iterate over the errors
                for(var i = 0;i < errorList.length; i++)
                    $(errorList[i].element).parent().removeClass('_required').addClass('required');
            }
});
0 голосов
/ 23 июля 2011

попробуйте добавить правило выделения и отмены выделения, чтобы получить элементы ошибки выделения

 $("#contactform").validate({

        },

        highlight: function (element, errorClass) {                
            $(element).css({ "background-color": "#EE2E24"});
        },

        unhighlight: function (element, errorClass) {
            $(element).css({ "background-color": "#FFFFFF" });
        },

         messages: {
            contactName: "",
            email: "",
            message: ""
        }

 });
0 голосов
/ 22 июля 2011

насколько я понял вашу проблему, вы можете сделать это

jQuery.validator.addClassRules({

http://docs.jquery.com/Plugins/Validation/Validator/addClassRules#rules

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...