Empêcher "multiclique"

Signaler
Messages postés
15
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
28 mars 2011
-
Messages postés
15
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
28 mars 2011
-
Bonjour,

Je sais pas si j'ai choisi le bon thème mais voici mon problème : Je développe une appli web en VB.NET dont la première page est un formulaire à remplir. J'ai un bouton envoyer qui permet d'enregistrer le formulaire dans la base de données. Une fois le formulaire rempli on revient sur cette même page sur laquelle j'applique un calque. Mais voilà mon problème : lorsque l'utilisateur clique sur envoyer, la page attend d'avoir effectuer tout le code présent dans la procédure btnEnvoyer_onClick avant de rafraîchir la page. Résultat : l'utilisateur a la possibilité de cliquer plusieurs fois et donc de créer plusieurs fois le même formulaire.
Y'a-t-il un moyen de limiter le nombre de clique sur le bouton ou alors est-ce qu'on ne peut pas forcer le serveur à rafraîchir plus ou moins la page avant d'éxecuter la suite de la procédure ?

5 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Tu désactives le bouton avec du code JavaScript
_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
Messages postés
15
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
28 mars 2011
1
Ouais alors la le javascript j'suis mauvais...
Mais j'ai quand même essayé ça :

<script type="text/javascript">
function toogleBtnEnvoyer()
{
btnenvoyer.style.display = false
}

But...ça en marche pas : 'javascript' n'est pas un membre de 'ASP.demand_aspx'

Où ai-je fait une erreur ?
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
ne mets pas avant l'appel de la fonction "javascript:"
_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
Messages postés
15
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
28 mars 2011
1
Même prob sauf que l'élément qui n'est pas membre c'est ... toogleBtnEnvoyer.

Mais j'ai trouvé une autre solution que je vais bien sûr partagée :



Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not ClientScript.IsOnSubmitStatementRegistered(Me.GetType, "OnSubmitScript") Then
Dim cstext As String "if (typeof(ValidatorOnSubmit) 'function' && ValidatorOnSubmit() == false)return false; else {var myCtl = document.getElementById('" + Me.Button2.ClientID + "'); myCtl.value = 'Un instant...'; myCtl.disabled = true;}"
ClientScript.RegisterOnSubmitStatement(Me.GetType, "OnSubmitScript", cstext)
End If
End Sub

En fait ça revient à ce que tu me disais mais on là on "met" le javascript dans le behind code... Ouais je suis pas très clair...

http://www.dotnetguru.org/articles/aspnet/events/EventASPNET1.htm
Messages postés
15
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
28 mars 2011
1
En fait j'ai toujours un problème... Mon bouton se met "en attente" dès que je clique sur un bouton qui lance une procèdure... Est-ce qu'il serait possible d'éxecuter ma fonction seulement si la procèdure button2_click est appelée ???