Функция jquery numberOfInvalids () не работает - PullRequest
3 голосов
/ 24 декабря 2011

Я использую плагин проверки jquery 1.9.0. Я скачал плагин отсюда: http://bassistance.de/jquery-plugins/jquery-plugin-validation/

Я скопировал следующий код из этой ссылки http://docs.jquery.com/Plugins/Validation/Validator/numberOfInvalids чтобы узнать количество ошибок, которые у меня есть в моей форме. Но это не работает.

$(document).ready(function() {
    $('a.delete').click(function() {
        invalidHandler: function() {
            $("#summary").text(validator.numberOfInvalids() + " field(s) are invalid");
        }
    });
});     

А потом

<div id="summary" class="summary"> </div>
<a href="#" class="delete">click</a>

Голова моей формы выглядит так:

<form class="uniform"  autocomplete="off" id="myForm" enctype="multipart/form-data" action="<?echo base_url();?>addteacher_salary/add " method="post" name="myForm">

Я не вызываю никакую функцию проверки в моей форме, я просто загружаю плагин проверки внутри тега head, и проверка работает.

Не могли бы вы сказать мне, что не так с кодом?

Редактировать

Моя полная форма выглядит следующим образом:

   <form class="uniform"  autocomplete="off" id="myForm" enctype="multipart/form-data" action="<?echobase_url();?>addteacher_salary/add " method="post" name="myForm">      

                <fieldset>
                    <legend>Select A Teacher</legend>
                    <dl class="inline">


                        <dt><label for="teachername">Teacher Name <span class="hello">*</span></label></dt>
                        <dd>
                            <?php echo form_dropdown('teacherid', $dropdown_teacher,'', 'class="medium required" id="teacherid"' ); ?>



                        </dd>

                        <dt><label for="salary_month">Month of Salary <span class="hello">*</span></label></dt>
                        <dd>
                        <?php   $month_options = array(     
                                                         ''  => 'Select',   
                                                         'January'  => 'January',
                                                         'February'    => 'February',
                                                         'March'   => 'March',
                                                         'April'    => 'April',
                                                         'May'   => 'May',
                                                         'June'  => 'June',
                                                         'July'    => 'July',
                                                         'August'   => 'August',
                                                         'September'    => 'September',
                                                         'October'   => 'October',
                                                         'November'   => 'November',
                                                         'December' => 'December',
                                                        );


                                        echo form_dropdown('salary_month', $month_options,'', 'class="medium required"'  );?>

                        </dd>

                        <dt><label for="salary_year"> Year of Salary <span class="hello">*</span></label></dt>
                        <dd>



                        <?php 
                            $year_options = array(      
                                                         ''  => 'Select',   
                                                         '2010'  => '2010',
                                                        '2011'  => '2011',
                                                        '2012'  => '2012',
                                                        '2013'  => '2013',
                                                        '2014'  => '2014',

                                                         '2015'    => '2015',
                                                         '2016'   => '2016',
                                                         '2017'    => '2017',
                                                         '2018'   => '2018',
                                                         '2019'  => '2019',
                                                         '2020'    => '2020',
                                                         '2021'   => '2021',
                                                         '2022'    => '2022',
                                                         '2023'   => '2023',
                                                         '2024'   => '2024',
                                                         '2025' => '2025',
                                                        '2026' => '2026',
                                                        '2027' => '2027',
                                                        '2028' => '2028',
                                                        '2029' => '2029',
                                                        '2030' => '2030',
                                                        );


                                        echo form_dropdown('salary_year', $year_options,'', 'class="medium required"'  );?>

                        </dd>

                        <dt><label for="salary_disbursement_date">Salary Disbursement Date <span class="hello">*</span></label></dt>
                        <dd>
                            <input type="text" name="salary_disbursement_date" id="datepicker2" maxlength="10" class="medium required" />

                        </dd>



                        <dt><label for="salaryamount">Salary Amount <span class="hello">*</span></label></dt>
                        <dd>
                            <input type="text" name="salary_amount" id="salary_amount" value="" class="medium required number" />

                        </dd>




                    </dl>

                <div class="buttons">
                        <button id="submit_item" name="submit_item" type="submit" class="button">Submit Button</button>

                    </div>

                </fieldset>
            </form>

1 Ответ

4 голосов
/ 24 декабря 2011

Обязательно звоните valid в форме до , звоните numberOfInvalids:

$(document).ready(function() {
    $('a.delete').click(function() {
        $("#myForm").valid(); // Make validate calculate the number of invalid fields.
        var numInvalid = $("#myForm").numberOfInvalids();

        $("#summary").text(numInvalid + " field(s) are invalid");
    });
});     

Пример: http://jsfiddle.net/UURz2/

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