pilouk
Messages postés7Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention 6 septembre 2004
-
23 mars 2004 à 09:12
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
29 mars 2004 à 19:22
Il y a t'il une méthode pour éviter que l'utilisateur ne clique 2 fois sur un bouton de validation de formulaire
PeTeRsLaStAr
Messages postés158Date d'inscriptionsamedi 22 juin 2002StatutMembreDernière intervention27 juin 20151 23 mars 2004 à 09:55
Oui
Sur l'évènement onClick tu mets une variable de session
Voilà ce que ça donne
Sub PageLoad If session("BtnClique") 1 Then me.MonBouton.enable false
End Sub
Sub MonBouton_OnClick(...) If session("BtnClique") 0 or IsNothing(Session("BtnClique") Then session("BtnClique") 1
(... ton code)
End Sub
Cela répond à ta question ?
****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
pilouk
Messages postés7Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention 6 septembre 2004 23 mars 2004 à 11:39
Cette solution ne marche pas car tant que le serveur n'a pas renvoyer la nouvelle page le bouton est toujours actif et l'utilisateur peut cliquer autant de fois qu'il le veut
Je pense qu'il faudrait mettre en place un javascript au niveau client, qu'en pense tu ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
pilouk
Messages postés7Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention 6 septembre 2004 23 mars 2004 à 16:40
Excuse moi pour cette reponse tardive je n'etais pas dispo cettte après midi
Le principe marche mais le bouton ne sera désactiver que lorsque la page sera recharger donc si le traitement sur le serveur est un peu long (ex 3 a 4 seconde) l'utilisateur pourra cliquez plusieurs fois sur le bouton
PeTeRsLaStAr
Messages postés158Date d'inscriptionsamedi 22 juin 2002StatutMembreDernière intervention27 juin 20151 23 mars 2004 à 16:47
C la seule solution en VBNet. D'un autre coté, si tu mets un boolean pour savoir qd un bouton a été cliqué, après tu peux exéctuer ton code en fonction de ce boolean. Et il restera pendant x temps à enable. Effectivement.
D'un autre coté, je ne suis mm pas sur qu'il existe un code en javascript pour toucher à la fonction "enable" d'un bouton de type asp.net a vrai dire...
Donc mon aide s'arrête là !!
Bon courage.
:)
****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 23 mars 2004 à 18:35
Il y a une solution, je me rappelle d'un controle developpé par une société tiers qui avait fait ce genre de bouton, mais je me rappelle plus l'adresse du site, j'avais vu ca à partir d'une news de c2i.fr il y a 1 ou 2 mois, j'essaye de trouver l'url pour telecharger ce controle qui en plus est gratuit.
pilouk
Messages postés7Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention 6 septembre 2004 24 mars 2004 à 08:27
Merci a tous les deux
Je cherche encore mais j'ai peut etre une soltion en javascript
il faut dabord déclarer la function dans le Page_Load,
Mon_Bouton.Attributes.Add("onclick", "Mon_Bouton_onclick()")
ensuite dans le fichier aspx
<script language="javascript" id="clientEventHandlersJS">
function Mon_Bouton_onclick() {
Mon_Bouton.disabled=true
}
</script>
Cela fait bien passer le bouton en grisée lorsque l'on clique dessus ,mais seulement un gros HIC , la procédure dans vb n'est plus executée
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 24 mars 2004 à 13:09
normal que ta procédure ne soit pas executé par vb car tu remplaces le onclick qui a l'origine servait pour le vb par le tien, mais j'aurais pas pensé qu'il aurait accepté ce code ...
Je suis dsl mais je retrouve plus l'adresse qui donnait ce genre de bouton :( mais je suis sur qu'il existe sur le net mais j'ai perdu l'adresse :(
Sinon j'ai peut etre une solution à ton problème en utilisant le meme principe que toi, j'ai encore pas regardé si c'est possible mais apparement avec ta syntaxe tu ecrase le code qu'asp.net a fait pour toi pour l'evenement onclick il faudrais donc que tu arrives à recuperer l'attribut qu'asp.net à generé puis que tu mettes le tien devant ...
pilouk
Messages postés7Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention 6 septembre 2004 24 mars 2004 à 13:25
dans ma procédure le onclick de vb n'esst pas désactiver
c'est le fait de mettre le bouton en diabled qui empeche la procédure vb de s'executer
j'ai donc contourner le problème dans le javascript
j'ai rajouter un zone de texte hidden que j'ai nommé "VALID"
lors du premier click je vérifie que la propriété value deVALID est différente de 1 si c'est le cas je la passe a 1 et ma procédure VB s'exécute correctement
Si l'utlisateur clique une seconde fois alors je met a disabled le bouton et je renvoi false
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 24 mars 2004 à 13:54
Interessant, je trouve bizarre que le fait de mettre enabled apres l'execution du javascript pour asp.net empeche la creation du code, mais j'aime bien ta methode :) et le principal c'est que ca marche
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 28 mars 2004 à 21:44
Intrigué par ta methode j'ai teste, j'y suis arrivé mais (car il faut tj un mais) il y a un truc qui me derange, le bouton est girsé lorsque l'on clique la deuxieme fois mais pas la premiere, aurais tu une idée du pourkoi ? je chercher à savoir ca car je suis en train de creer un controle derivant de button qui permet de faire ce que tu veux et j'aimerais bien que ce soit parfait :)
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 28 mars 2004 à 22:00
J'ai trouvé ma petite astruce et en plus ca ne fais meme pas intervenir un champ caché, j'ai juste retarder l'appel de la fonction d'1ms et ca a suffit :