Я использую панель обновлений на своей странице asp и выполняю проверку JQuery при асинхронной обратной передаче ...
Я просто хочу проверить свою форму только при нажатии кнопки или отправке ...
Моя проблема в том, что все мои кнопки находятся в разных формах и не загружаются одновременно ... вот почему я не могу взять идентификаторы кнопок и использовать события нажатия ... здесь мой код ..
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 {
}
}
}
Все, что я хочу сделать, это: 2-я проверка только на кнопку «Отправить» не для всех ... Я получаю другие постбэки на этой странице, и эти посты также проверяются каждый раз (я хочу этого избежать) ...
Я не знаю, хорош этот подход или нет ... Я давно борюсь с этим ... Я очень ценю вашу помощь ...