문제

질문은 모든 것을 말합니다. jQuery를 사용하는 ASP.NET 페이지입니다. 처음에는 제출 버튼을 클릭하면 객체 예상 오류가 표시됩니다. 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

도움이 되었습니까?

해결책

편집하다: 코드를 본 후. 버튼에서 validate ()를 제거한 호출을 제거한 후에도 양식이 제출되지 않는 이유는 디버그가 있기 때문입니다. 사실, 양식 제출을 방지합니다. 디버그로 변경하십시오 : False는 제출됩니다.

 $("#form1").validate({
            debug: false,
            .....

다른 팁

귀하의 문제는 JavaScript 구문 분석 오류가 있기 때문에 양식 제출이 작동하지 않는다는 것입니다. Firebug 콘솔을 확인하여 페이지로드시 오류가 발생하는지 확인할 수 있습니까? JavaScript 오류는 양식 제출 프로세스를 중단 할 수 있습니다.

이전 질문을 살펴보면 Validate가 정의되지 않았으므로 유효성 검사 플러그인을 포함하지 않았을 것 같습니다. 이 오류는 여전히 발생 중이며 페이지의 나머지 JavaScript가있을 수 있습니다. 모든 ASP.NET가 추가 된 JavaScript가 구문 분석되지 않을 수 있습니다.

Validate 플러그인에 대한 스크립트가 포함되어 있습니까? 다음과 같이 보일 것입니다.

 <script type="text/javascript" src="..../jquery.validate.js"></script>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top