Domanda

la domanda dice tutto. ho una pagina asp.net usando jquery. all'inizio facendo clic sul pulsante di invio, veniva visualizzato l'errore previsto dell'oggetto. ho eseguito il firebug e ha visualizzato l'errore della funzione 'return validate ()' che è stato aggiunto suClientClick del pulsante.

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

L'ho rimosso e ora il pulsante di invio non funziona ancora. il codice lato server non viene eseguito. non mostra alcun errore. non riesco a capire qual è il problema.


ho pubblicato il codice qui: oggetto previsto - jquery

È stato utile?

Soluzione

MODIFICA: dopo aver visto il codice. Il motivo per cui il modulo non viene inviato anche dopo aver rimosso la chiamata a Validate () nel tuo pulsante è perché hai il debug: vero, questo impedisce l'invio del modulo. Modificalo in debug: false e verrà inviato.

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

Altri suggerimenti

Credo che il tuo problema sia che l'invio del modulo non funziona perché hai un errore di analisi javascript. Puoi controllare la console di Firebug per vedere se si verificano errori durante il caricamento della pagina. Eventuali errori JavaScript potrebbero probabilmente interrompere il processo di invio del modulo.

Guardando la tua domanda precedente, immagino che potresti non aver incluso il plugin di validazione poiché validate non è definito. Probabilmente questo errore si sta ancora verificando e il resto del javascript nella pagina, incluso tutto il javascript aggiunto ASP.NET, potrebbe non essere analizzato.

Hai uno script include per il plugin validato? sarebbe simile a questo:

 <script type="text/javascript" src="..../jquery.validate.js"></script>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top