I am using Update Panel in my asp page and I am doing JQuery Validation on Asynchronous Postback…
I just want to validate my form on only button clicks or submits…
My problem is..all my buttons are in different formviews and won’t load at a time…that’s why I am unable to take the button id’s and use the click events..here is my 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> 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> Please correct the errors </p>').fadeIn('fast');
document.location.href = '#pnlItemErrors';
}
}, submitHandler: function () {
}
}).form();
if (!isValid) {
CancelPostback(sender, args);
} else {
}
}
}
All I want to do is: 2nd time validation on only button submit not for everything…I do get other postbacks on this page and those post backs also gets validated each time (I want to Avoid this)…
I don’t know this approach is good or not…I am struggling with this from long time..I really appreciate you help…
On the assumption that you don’t want to submit the form when someone presses the enter button, and that you only want to submit the form on pressing a
submitbutton:There’s a JS Fiddle demo, here: http://jsfiddle.net/davidThomas/5PaWz/.
If I’m mistaken in my assumptions, please leave a comment and I’ll try to correct myself.