Подтвердить что ты не робот

$ ( "# form1" ). validate не является функцией

<script type="text/javascript">
<!--
$(document).ready(function() { 
      $("#form1").validate({ 
        rules: { 
         budget: {
            required: true,
             minlength:3
        } ,
       duration: {
            required: true,
            digits:true
        }, 
         town: {
            required: true,
             minlength:2

        },

       content: {
            required: true,
            minlength:300 

        }
         }, 
        messages: { 


        } 
          }); 
        });
        -->
</script>

Два файла jquery включены.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="../common/jquery.validate.js"></script>

. Нет ничего плохого в включении.

Появилось сообщение об ошибке

$( "# form1" ). validate не является функцией Что не так?

4b9b3361

Ответ 1

Поместите тег jQuery script перед тегом script для проверки

Я просто столкнулся с этой крайне расстраивающей ошибкой и потерял большую часть часа, потому что у меня не было работоспособного ответа в Интернете. Я подтвердил в Firebug, что я нажимал CDN для jQuery и проверки.

В конце концов, изменив это:

    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.4.min.js"></script>

:

    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.4.min.js"></script>
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>

все, что мне нужно.

Ответ 2

У меня была такая же проблема. Оказалось, что я загружал jQuery JavaScript файл более одного раза на странице. Это было связано с включением страниц (или JSP, в моем случае). Как только я удалил дублируемую ссылку на js файл jQuery, эта ошибка исчезла.

Ответ 3

У меня была такая же проблема, и да, во-первых, я включил мой jquery, а затем проверку jquery script. Я понятия не имел, что случилось. Оказывается, я использовал URL-адрес проверки, который переместился. Я понял это, выполнив следующее:

  • Открыть firefox
  • Открыть firebug
  • Перейдите на вкладку NET в firebug. Это покажет вам все загружаемые ресурсы.
  • Загрузите свою страницу.
  • Проверьте загруженные ресурсы и проверьте, загружены ли как ваши jquery, так и jquery.validate.js.

В моей ситуации у меня была ошибка 403 Forbidden при попытке получить (http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js, которая используется в примере на http://rocketsquared.com/wiki/Plugins/Validation).

Оказывается, эта ссылка (http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js) переместилась на http://view.jquery.com/trunk/plugins/validate/jquery.validate.js (Firebug рассказал мне об этом, когда я загрузил файл локально, а не на моем веб-сервере).

ПРИМЕЧАНИЕ. Я также пробовал использовать ссылку CDN для Microsoftsoft, но это не удалось, когда я попытался загрузить файл javascript в браузере с правильным URL-адресом, произошла какая-то странная проблема с сайтом CDN.

Ответ 5

Была та же проблема; проверенный HTML и обнаружил, что у меня отсутствует атрибут name="email" из <input />. Всегда проверяйте, чтобы HTML был позитивным, ваш HTML действителен. После того, как я добавил его, validate() работал отлично.

Ответ 6

Удостоверьтесь, что jQuery использует переменную $, а не другую фреймворк javascript.

Проверьте свой doctype: проверьте свой html, иногда браузеры не видят ничего в режиме quirks или когда они исправляют неверный html.

Также убедитесь, что файл jquery.validate.js верен.

Вы можете скачать его ниже:

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

Ответ 7

Проверьте, используете ли вы прокси.

У меня эта проблема в Mozilla Firefox, я думал, что это проблема, связанная с самим Firefox. Позже я узнал, что я использую прокси-сервер. Когда я отключил прокси-сервер, все стало нормально.

Ответ 8

Вероятно, браузер сначала загрузил validade script, а затем jQuery. Если validade script будет загружен перед загрузкой jQuery, вы получите сообщение об ошибке. Вы можете увидеть это с помощью инструмента, такого как firebug.

Попробуйте следующее:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
    function LoadValidade() {
        var a = false;
        try {
            var teste = $('*');
            if(teste == null)
                throw 1;
        } catch (e) { 
            a = true; 
        }

        if (a){ 
            setTimeout(LoadValidade, 300);
            return;
        }

        var validadeScript = document.createElement("script");
        validadeScript.src = "../common/jquery.validate.js";
        $('head')[0].appendChild(validadeScript);
    } 
    setTimeout(LoadValidade, 300);
</script>

Ответ 9

Мое решение проблемы: в нижнем колонтитуле добавить <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/jquery.form-validator.min.js"></script>

Ответ 10

Если у вас есть ссылка, я могу посмотреть, что это за проблема, но вот пара вопросов и вещей, которые нужно проверить:

  • Является ли идентификатор вашей формы с именем "форма" в HTML?
  • Проверьте, нужны ли сообщения, возможно, есть некоторый дисбаланс в параметрах
  • Вы также должны добавить атрибуты 'type = "text/javascript" ', где вы получаете jQuery из Google

Кроме того, если вы собираетесь использовать CDN Google для получения jQuery, вы можете использовать Microsoft CDN для получения вашего файла проверки. Любой из этих URL-адресов будет работать:

Ответ 11

Может быть, глупо, но убедитесь, что вы встроены script после добавления тегов script.

Ответ 12

У меня была эта проблема, URL-адрес jquery был действительным, все выглядело хорошо, и проверка все еще работала. После жесткого обновления CTL + F5 ошибка исчезла в Chrome.

Ответ 13

В моем случае я переместил валидную часть за пределы функции готовности документа, и она отлично работает для меня. Я надеюсь, что это будет работать для вас...

 $(document).ready(function () {
   // paste validate function outside of the document ready function...
});

    $('#form1').validate({

        rules: {
            English_Name: { required: true, minlength: 3 },
            Arabic_Name: { required: true, minlength: 3 },
            latitude: { required: true, min: 16, max: 32, number: true },
            longitude: { required: true, min: 32, max: 52, number: true },
            EmployeeID: { required: true },
            PaymentTypeID: { required: true },
            BusinessTypeID: { required: true },
            SalesTypeID: { required: true },
            OutletLength: { required: true },
            OutletWidth: { required: true },
            CONTACT_PERSON: { required: true },
            MOBILE_NO: { required: true, minlength: 9, maxlength: 13, digits: true },
            TRADE_LIC_DATE: { dateValidation: true },
            CreditLimit: { min: 0, max: 2000000 },
            CreditPeriod: { min: 0, max: 365 },
            EMAIL_ADDRESS: { email: true },
            BusinessClassID: { required: true },
            CustomerClassificationID: { required: true },
            LicenseTypeID: { required: true }
        },
        message: {
            English_Name: {
                required: ''

            },
            ToDate: {
                required: ''

            }




        },
        submitHandler: function (form) { // for demo

            $.ajax({
                type: 'POST',
                url: '/sfa/Verification/SaveDataInDatabase',
                data: $('form').serialize(),
                beforeSend: function () {
                    $('.submitBtn').attr("disabled", "disabled");
                    $('.modal-body').css('opacity', '.5');
                },
                success: function (msg) {


                    $("#form1").trigger('reset');
                    $('.modal').modal('hide');
                    $('.submitBtn').removeAttr("disabled");
                    $('.modal-body').css('opacity', '');
                }
            });
        }
    });