So führen Sie eine Validierung nur auf die Schaltfläche Klicken oder " Input:Submit

Bin ich mit dem Update-Panel in meiner asp-Seite, und ich Tue, JQuery Validierung, die auf der Asynchronen Postback...

Möchte ich nur bestätigen meine form nur auf button-Klicks oder sendet...
Mein problem ist..alle meine Schaltflächen sind in verschiedenen formviews und nicht Last für eine Zeit...das ist, warum ich bin nicht in der Lage, die button-id ' s und verwenden Sie das click-events..hier ist mein code..

 Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(ValidateMyForm);
 function ValidateMyForm(sender, args) {
            var objPost = args.get_postBackElement();
            if (objPost === null || objPost === undefined) return;
            if (objPost.id == '<%= ((Button)(formViewinfo.FindControl("btnUpdate"))).ClientID %>') {
                $('#pnlerrors').fadeOut('fast');
                $('#pnlItemErrors').fadeOut('fast');

                var isValid = $('#form1').validate({
                    errorClass: 'error',
                    invalidHandler: function (e, validator) {
                        var errors = validator.numberOfInvalids();
                        if (errors) {
                            $('#pnlerrors').html('<p>&nbsp;Please correct the errors  </p>').fadeIn('fast');
                            document.location.href = '#pnlerrors';
                        }
                    }, submitHandler: function () {

                    }
                }).form();

                if (!isValid) {
                    CancelPostback(sender, args);
                } else {

                }

            }
            //this is for rest of buttons
            else {
                $('#pnlItemErrors').fadeOut('fast');
                $('#pnlerrors').fadeOut('fast');
                var isValid = $('#form1').validate({
                    errorClass: 'error',
                    invalidHandler: function (e, validator) {
                        var errors = validator.numberOfInvalids();
                        if (errors) {
                            $('#pnlerrors').fadeOut('fast');
                            document.location.replace('#', '#pnlItemErrors');
                            $('#pnlItemErrors').html('<p>&nbsp;Please correct the errors </p>').fadeIn('fast');
                            document.location.href = '#pnlItemErrors';
                        }
                    }, submitHandler: function () {
                    }
                }).form();

                if (!isValid) {
                    CancelPostback(sender, args);
                } else {

                }

            }
        }

Alles was ich tun möchte ist: 2. mal die Validierung nur auf die Schaltfläche senden nicht für alles...ich bekomme andere postbacks auf dieser Seite und diesen post Rücken wird auch überprüft jedes mal (will ich Vermeiden)...

Ich nicht wissen, dass dieser Ansatz gut ist oder nicht...ich bin mit diesen zu kämpfen, von der lange Zeit..die ich wirklich zu schätzen, dass du helfen...

  • Für die Klarheit, die Sie auslösen möchten Validierung nur wenn ein submit Taste gedrückt wurde?
  • ja..ich will trigger auf den button klicken...wenn Sie sehen, dass mein code..ich bin der überprüfung der objargs.id ersten mal mit einem button id..ich muss es tun mit allen anderen Tasten die ich habe ..aber das problem ist, die Tasten nicht geladen wird an der Zeit...dann sind innerhalb einer asp.net formview...was ich will ist..wenn es möglich ist kann ich eine css-Klasse für alle buttons und dann muss ich schauen (.btnupdate).klicken Sie auf true ist dann zu validieren, sonst nicht..ich hoffe u verstehst was ich meine..vielen Dank..
InformationsquelleAutor Sunny43 | 2010-11-24
Schreibe einen Kommentar