Проверьте, является ли ValidationSummary действительным, используя OnClientClick

StackOverflow https://stackoverflow.com/questions/414946

Вопрос

Есть ли способ проверить, имеет ли для элемента управления 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 и шаблон прогресса.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top