Domanda

Esiste un modo per verificare se un controllo ValidationSummary ha la proprietà IsValid impostata su true utilizzando Javascript nell'evento OnClientClick di un pulsante?

Quello che sto cercando di fare è mostrare un messaggio che dice " attendere che il file venga caricato " su una pagina di caricamento, ma se uso JavaScript per mostrare quel messaggio, viene visualizzato anche quando ValidationSummary presenta errori, quindi il messaggio viene visualizzato insieme agli errori sottostanti, il che confonde gli utenti.

È stato utile?

Soluzione 2

Nel caso in cui altri abbiano bisogno di qualcosa del genere, ecco la mia soluzione:

Nell'evento OnClientClick del pulsante, sto chiamando una funzione javascript chiamata showContent (). In questa funzione, utilizzo setTimeout per chiamare una seconda funzione che controlla la proprietà IsValid della pagina:

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

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

Page_IsValid restituisce true nell'evento OnClientClick perché la convalida javascript viene eseguita successivamente, quindi il ritardo di 1 secondo consente di impostare correttamente la proprietà IsValid.

Altri suggerimenti

Penso che questo farà quello che vuoi.

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

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

Se hai più gruppi di validazione su una sola pagina, dovresti controllare solo un determinato gruppo:

var isValid = Page_ClientValidate('GroupName');

Suppongo che ciò che dovresti fare è dissable the pulsante di caricamento e mostra un messaggio mentre il caricamento è in corso. Ad esempio utilizzando un pannello Ajax e un modello di avanzamento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top