кнопка отправки не запускает серверный код - PullRequest
1 голос
/ 06 мая 2009

вопрос говорит сам за себя. У меня есть страница asp.net с использованием jquery. сначала, когда я нажимал кнопку отправки, он показывал ожидаемую ошибку объекта. я запустил firebug, и он отобразил ошибку функции return validate (), которая была добавлена ​​на клик кнопки.

  <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>

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


я разместил код здесь: ожидаемый объект - jquery

Ответы [ 2 ]

3 голосов
/ 06 мая 2009

РЕДАКТИРОВАТЬ: После просмотра кода. Причина, по которой форма не отправляется даже после того, как вы удалите вызов Validate () в своей кнопке, заключается в том, что у вас есть debug: true, это предотвращает отправку формы. Измените его на debug: false, и он будет отправлен.

 $("#form1").validate({
            debug: false,
            .....
0 голосов
/ 06 мая 2009

Я считаю, что ваша проблема в том, что отправка формы не работает, потому что у вас есть ошибка синтаксического анализа javascript. Можете ли вы проверить консоль Firebug на наличие ошибок при загрузке страницы. Любые ошибки JavaScript могут нарушить процесс отправки формы.

Глядя на ваш предыдущий вопрос, я могу предположить, что вы, возможно, не включили плагин проверки, поскольку validate не определен. Эта ошибка все еще, вероятно, происходит, и остальная часть javascript на странице, включая весь добавленный javascript в ASP.NET, может не анализироваться.

Есть ли у вас скрипт для плагина validate? это будет выглядеть примерно так:

 <script type="text/javascript" src="..../jquery.validate.js"></script>
...