Pergunta

Existe uma maneira de verificar se um controle ValidationSummary tem sua IsValid conjunto de propriedades como true usando Javascript no caso OnClientClick de um botão?

O que eu estou tentando fazer é mostrar uma mensagem que diz "por favor, aguarde enquanto o arquivo é carregar" em uma página de upload, mas se eu usar javascript para mostrar essa mensagem, ele mostra-se mesmo quando o ValidationSummary tem erros , por isso a mensagem aparece junto com os erros por baixo, o que confunde os usuários.

Foi útil?

Solução 2

No caso de outros precisam de algo como isso, aqui está a minha solução:

No evento OnClientClick do botão, eu estou chamando uma função JavaScript chamada showContent (). Nesta função, eu uso setTimeout para chamar uma segunda função que verifica propriedade IsValid da página:

function showContent() 
{
    setTimeout("delayedShow()", 1);
}

function delayedShow() 
{
    if (Page_IsValid != null && Page_IsValid == true) 
    {
       document.getElementById('divUploading').style.display = "block";
    }
}

Os Page_IsValid retorna True no evento OnClientClick porque as JavaScript é executado validação Após isso, de modo que o atraso de 1 segundo permite que a propriedade IsValid de ser devidamente definido.

Outras dicas

Eu acho que isso vai fazer o que quiser.

var isValid = false;
if (typeof(Page_ClientValidate) == 'function') 
{
   isValid = Page_ClientValidate();
}

if(isValid)
{
   ShowMessage(...);
}

Se você tem vários grupos de validação em uma página, então você deve verificar apenas determinado grupo:

var isValid = Page_ClientValidate('GroupName');

Eu acho que o que você deve fazer é dissable o uppload botão e mostrar uma mensagem enquanto carregamento está em andamento. Por exemplo, utilizando um painel de Ajax e um modelo de progresso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top