Question

Existe-t-il un moyen de vérifier si la propriété IsValid d'un contrôle ValidationSummary est définie sur true à l'aide de Javascript dans l'événement OnClientClick d'un bouton?

Ce que j'essaie de faire, c'est d'afficher un message indiquant: "Veuillez patienter pendant le téléchargement de votre fichier". sur une page de téléchargement, mais si javascript est utilisé pour afficher ce message, il apparaît même lorsque le fichier ValidationSummary contient des erreurs. Le message apparaît ainsi que les erreurs ci-dessous, ce qui déroute les utilisateurs.

Était-ce utile?

La solution 2

Au cas où d'autres auraient besoin de quelque chose comme ceci, voici ma solution:

Dans l'événement OnClientClick du bouton, j'appelle une fonction JavaScript appelée showContent (). Dans cette fonction, j'utilise setTimeout pour appeler une deuxième fonction qui vérifie la propriété IsValid de la page:

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

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

Page_IsValid renvoie la valeur true dans l'événement OnClientClick , car la validation javascript s'exécute après cette opération. Le délai de 1 seconde permet donc de définir correctement la propriété IsValid.

Autres conseils

Je pense que cela fera ce que vous voulez.

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

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

Si vous avez plusieurs groupes de validation sur une seule page, vous ne devriez vérifier que certains groupes:

var isValid = Page_ClientValidate('GroupName');

Je suppose que vous devez dissable the Téléchargez le bouton et affichez un message pendant le téléchargement. Par exemple, en utilisant un panneau ajax et un modèle de progression.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top