Проверьте, является ли ValidationSummary действительным, используя OnClientClick
-
03-07-2019 - |
Вопрос
Есть ли способ проверить, имеет ли для элемента управления ValidationSummary его свойство IsValid значение true, используя Javascript в событии OnClientClick кнопки? Р>
Я пытаюсь показать сообщение с надписью " подождите, пока файл загружается " на странице загрузки, но если я использую javascript для показа этого сообщения, оно появляется даже тогда, когда в ValidationSummary есть ошибки, поэтому сообщение отображается вместе с ошибками внизу, что приводит пользователей в замешательство.
Решение 2
Если другим нужно что-то подобное, вот мое решение:
В событии OnClientClick кнопки я вызываю функцию javascript showContent (). В этой функции я использую setTimeout для вызова второй функции, которая проверяет свойство страницы IsValid:
function showContent()
{
setTimeout("delayedShow()", 1);
}
function delayedShow()
{
if (Page_IsValid != null && Page_IsValid == true)
{
document.getElementById('divUploading').style.display = "block";
}
}
Page_IsValid
возвращает true в событии OnClientClick
, поскольку после этого запускается проверка JavaScript, поэтому задержка в 1 секунду позволяет правильно установить свойство IsValid.
Другие советы
Я думаю, что это будет делать то, что вы хотите.
var isValid = false;
if (typeof(Page_ClientValidate) == 'function')
{
isValid = Page_ClientValidate();
}
if(isValid)
{
ShowMessage(...);
}
Если у вас есть несколько групп проверки на одной странице, вам следует проверить только определенную группу:
var isValid = Page_ClientValidate('GroupName');
Полагаю, вам следует отключить Загрузите кнопку и покажите сообщение во время загрузки. Например, используя панель ajax и шаблон прогресса. Р>