Вопрос

я получаю сообщение об ошибке «Ожидается объект» по какой-то странной причине из-за jquery, и это не «отправляет» форму или не вводит данные в базу данных.

без jquery данные можно было бы ввести в базу данных.но сейчас это не так.

я использовал jquery в основном для проверки элементов управления asp.net.


roosteronacid, проверки работают отлично, и свойство id тоже такое же.отправка просто не выполняет код на стороне сервера, и я не могу понять, в чем проблема.

РЕДАКТИРОВАТЬ:

это код jquery:

 <script type="text/javascript">
        $(document).ready(function() {
            // add custom validation methods
            $.validator.addMethod('phone', function(value, el, params) {
                return this.optional(el) || /^[0-9,+,(), ,]{1,}(,[0-9]+){0,}$/.test(value);
            }, 'Please enter a valid phone number');

            $.validator.addMethod('numbers', function(value, el, params) {
                return this.optional(el) || /^[0-9]+$/.test(value);
            }, 'Invalid entry. Only Numeric is allowed.');


            $.validator.addMethod('domainurl', function(value, el, params) {
                return this.optional(el) || /^(http\:\/\/(?:www\.)?[a-zA-Z0-9]+(?:(?:\-|_)[a-zA-Z0-9]+)*(?:\.[a-zA-Z0-9]+(?:(?:\-|_)[a-zA-Z0-9]+)*)*\.[a-zA-Z]{2,4}(?:\/)?)$/.test(value);
            }, 'Please enter a valid domain url');


            $.validator.addMethod('selectone', function(value, element) {
                return this.optional(element) || (value.indexOf("none") == -1);
            }, 'Please select an option.');



            $("#form1").validate({
                debug: true,
                rules: {
                    txt_name: {
                        required: true,
                        minlength: 2
                    },
                    txt_cmp: {
                        required: true,
                        minlength: 2
                    },
                    txt_tel1: {
                        phone: true,
                        required: true,
                        minlength: 3

                    },
                    txt_tel2: {
                        phone: true,
                        required: false,
                        minlength: 3

                    },
                    txt_mob: {
                        phone: true,
                        required: false,
                        minlength: 9

                    },
                    txt_email: {
                        required: true,
                        email: true
                    },

                    txt_domname: {
                        required: true,
                        domainurl: true
                    },

                    radiobt_domain: "required",

                    ddl_yremail: {
                        required: true,
                        selectone: true
                    },
                    ddl_email: {
                        required: true,
                        selectone: true
                    },

                    txt_space: {
                        required: true,
                        numbers: true

                    },
                    txt_calfr: {
                        required: true
                    },
                    txt_calto: {
                        required: true
                    }  


            },
            messages: {
                txt_name: {
                    required: "This field is required",
                    minLength: "Please enter a valid name"
                },
                txt_cmp: {
                    required: "This field is required",
                    minLength: "Please enter a valid commpany name"
                },
                txt_tel1: {
                    required: "This field is required",
                    minLength: "Please enter a valid telephone number"

                },
                txt_tel2: {
                    minLength: "Please enter a valid telephone number"
                },
                txt_mob: {
                    minLength: "Please enter a valid mobile number"

                },
                txt_email: {
                    email: "Please enter a valid email address",
                    required: "This field is required"
                },

                txt_domname: {
                    required: "This field is required"
                },
                radiobt_domain: "Select the Hosting Type"
            }

        });
    });
    </script>

что-то не так с кодом?

он говорит, что объект ожидается в строке 559.я проверил файл jquery.validate.js, и это код, который он показывает:

addWrapper: function(toToggle) {
            if ( this.settings.wrapper )
                toToggle = toToggle.add( toToggle.parents( this.settings.wrapper ) );
            return toToggle;
        }

код jquery отображает все ошибки в нужных местах, но после исправления данные не отправляются.

плагин, который я использую:

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

Это было полезно?

Решение

Ожидаемый объект возникает при попытке доступа к объекту, который не определен, не указан или ошибочно написан с ошибкой.Проверьте, какой объект ожидается.Используйте Firefox Firebug для отладки вашего JavaScript или выполните отладку с включенным IE, чтобы получить объект, который среда выполнения не может найти....

Другие советы

Я решил эту проблему, правильно обратившись к файлу JQuery.Он находился в подкаталоге, и у меня не был правильный путь.

ответ здесь: кнопка отправки не запускает серверный код

«отладка» должна быть установлена ​​как ложная.

Я предполагаю, что ошибка связана с использованием плагина проверки jQuery.Попробуйте проверить только один элемент управления ASP.NET.Это облегчит обнаружение ошибки:

$("#form1").validate({
    rules: {
       id_of_control_you_know_exists_in_the_rendered_html: {
            required: true,
            minlength: 2
        }
    }
});

Другая возможность может заключаться в том, что вы используете элементы управления ASP.NET в пользовательском элементе управления.В этом случае свойство id визуализированного элемента управления вводом HTML отличается от того, которое вы установили на своей странице .aspx.

У меня была та же проблема, но на нашем промежуточном сервере.Сравнение файлов показало, что они одинаковы, и размещение одних и тех же файлов на разных сайтах не вызвало проблем, поэтому мы размещали файлы на конкретном сайте.После устранения неполадок проблема заключалась в том, что мы установили параметр файла Footer.html в свойствах веб-сайта в IIS, поэтому сервер внедрял его в скрипт при рендеринге.Таким образом, нарушаем любой хороший совместимый код.Мы отключили свойство нижнего колонтитула в настройках IIS — бинго!

Я тоже сталкиваюсь с этой проблемой.но в моем случае у меня была версия jquery, проблема есть.Я установил последнюю версию, и она отлично работает в IE.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top