Интересно, мог бы кто-нибудь помочь мне с проблемой, которая беспокоила меня в течение некоторого времени.
Я хочу включить проверку jQuery и сводку ошибок в панель обновлений на моей странице.Однако я обнаружил, что, когда div с краткой информацией об ошибках находится внутри панели обновлений, после первой обратной передачи, эта сводка больше не отображается - однако jQuery все еще проверяет форму и предотвращает обратную передачу, если не выполнены условия, которые я установил.
Чтобы уточнить, я испытываю следующее:
Первая загрузка страницы, попытка отправить страницу без указания подробностей -> повторная публикация запрещена, и сводка ошибок отображается какожидается.
Заполните поля имени и фамилии, нажмите «Отправить» -> страница правильно отправлена на сервер.
Теперь пусто либов поле «Имя» или «Фамилия» нажмите «Отправить» -> страница не отправляется обратно на сервер, однако сводка ошибок не отображается для пользователя.
Заполните поле «Имя и фамилия» ->страница корректно отправлена обратно
Если вы перемещаете div с краткой ошибкой (div class="error-container"
) заПанель обновления страницы работает как положено.К сожалению, я не могу сделать это с моим дизайном.
Интересно, сталкивался ли кто-нибудь с этой проблемой, и нашли ли вы решение этой проблемы?
Чтобы воссоздать мою проблему, вы можете использовать следующий код:
TestValidator.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="TestValidator.aspx.vb" Inherits="TestValidator" %>
Имя:Фамилия:
$(document).ready(function () {
load();
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function () {
load();
});
});
function load() {
$("#<%= Me.Page.Form.ClientId %>").validate({
errorLabelContainer: $("ul", $('.error-container')),
wrapper: 'li'
});
}
function checkForm() {
return $("#<%= Me.Page.Form.ClientId %>").valid();
}
</script>
</ContentTemplate>
</asp:UpdatePanel>
</form>
TestValidator.aspx.vb
Partial Class TestValidator
Inherits System.Web.UI.Page
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
Me.btnSubmit.Text = "Submitted at: " & Now.ToString
End Sub
Конечный класс
Спасибо, Дэвид