У меня есть форма на определенной странице ASPX, которая имеет пользовательскую проверку JS. Также в этой форме находится меню навигации в шапке.
Элементы меню навигации построены программно и инициируются вызовами __doPostBack, которые явно отправляют форму.
Проблема, с которой я столкнулся, состоит в том, что в самой форме есть код, подобный следующему
onsubmit='return validateForm()'
и если форма не была заполнена, то форма не может быть отправлена. Само по себе это не проблема, если пользователь не перейдет в форму, но решит уйти.
Когда это происходит, функция validateForm завершается ошибкой.
У кого-нибудь есть решение этой проблемы?
NB. В моих навигационных ссылках я уже установил CausesValidation = "False"
Это разметка:
<div id="divNavigate" class="absolute_topleft">
<asp:LinkButton ID="linkGoHome" runat="server" OnClick="linkGoHome_Click" CausesValidation="false" CssClass="xxx">text.</asp:LinkButton>
</div>
Это обработчик:
protected void linkGoHome_Click(object sender, EventArgs e)
{
Response.Redirect("xxxxx");
}
Это функция проверки:
function validateTextField(field) {
var fieldElement = document.getElementById(field);
var validated = false;
if (fieldElement.value.length > 0) {
validated = true;
}
return validated;
}
А вот как это называется:
<form id="formLogin" runat="server" onsubmit="return validateTextField(field1)">