lyonia
Messages postés3Date d'inscriptionjeudi 9 août 2018StatutMembreDernière intervention16 août 2018
-
Modifié le 9 août 2018 à 17:18
jordane45
Messages postés37516Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 2 juin 2023
-
16 août 2018 à 17:57
Bonjour,
Je suis à la recherche d'un petit bout de code permettent de bloquer l'utilisateur pendant quelques secondes pour ne pas que celui-ci "spam" clique afin de passer les étapes trop rapidement.
J'ai trouvé l'élément "onload" mais celui-ci ne marche pas dans mon cas car j'utilise un <input type=button>
jordane45
Messages postés37516Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 2 juin 2023341 9 août 2018 à 17:23
Bonjour,
J'ai trouvé l'élément "onload" mais celui-ci ne marche pas dans mon cas car j'utilise un <input type=button>
Quel est le souci ?
le onload se place sur le body... et déclenche une fonction lorsque la page est chargée.... peu importe que ton bouton soit un input ou une image.... je ne vois vraiment pas le rapport.
Pour le moment mon bouton réagit sur un onclick donc pas du tout ce que je souhaiterai faire
Quel est ton besoin exactement ?
lyonia
Messages postés3Date d'inscriptionjeudi 9 août 2018StatutMembreDernière intervention16 août 2018 9 août 2018 à 17:35
Bonjour Jordane45,
Et bien pour être précis je souhaiterai trouver quelque chose afin de grisé le bouton pendant quelques seconde lorsque l'utilisateur arrive sur la page. Mais uniquement sur ce bouton.
Le problème avec "onload" est que ne souhaiterai agir uniquement sur ce bouton et non sur tout le contenu de ma page.
Merci de t'a réponse.
jordane45
Messages postés37516Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 2 juin 2023341 9 août 2018 à 20:01
Et ben.. dans le onload tu appelles la fonction que tu nous a posté et ca devrait fonctionner..
Et puis en plus tu pourrais, de base, mettre le bouton en disabled
Et il ne s'activerait qu'après qq secondes comme tu le souhaites
lyonia
Messages postés3Date d'inscriptionjeudi 9 août 2018StatutMembreDernière intervention16 août 2018 Modifié le 16 août 2018 à 17:46
Oui voila j'ai pu trouvé quelque chose qui fonctionne plus ou moins.
Mais le problème c'est que je charge mes bouton avec un for
Et le problème c'est quant faisant un <body onload> qui contient mon for avec l'affichage des boutons cela n’exécute la fonction qui grise le bouton seulement sur le 1er des boutons.
Il y aurait-il quelque chose qui me permettrai de solutionné ce problème ? :/
jordane45
Messages postés37516Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 2 juin 2023341 Modifié le 16 août 2018 à 17:57
2 - Si tu as plusieurs boutons... tu dois déclencher la fonction pour chacun d'eux....
Il faut, bien entendu avoir un ID UNIQUE ( id signifiant IDENTIFIANT ) pour chaque bouton.
Pour boucler sur chaque bouton, tu pourrais y ajouter un CLASS et t'en servir dans ton js..
function init();
// boucle sur tous les boutons ayant la class btnTimer
var boutons = document.getElementsByClassName('btnTimer');
for (i = 0; < boutons.length; i++) {
var ele = boutons[i];
attente(ele.id); // on lance l'attente sur l'élément
ele.onclick = attente(ele.id); // on lui attache le onclick pour qu'il relance la fonction quand on clic dessus
}
}
function attente(champid) {
document.getElementById(champid).disabled = true;
setTimeout(function() {
document.getElementById(champid).disabled=false;
},2000);
}
9 août 2018 à 17:35
Et bien pour être précis je souhaiterai trouver quelque chose afin de grisé le bouton pendant quelques seconde lorsque l'utilisateur arrive sur la page. Mais uniquement sur ce bouton.
Le problème avec "onload" est que ne souhaiterai agir uniquement sur ce bouton et non sur tout le contenu de ma page.
Merci de t'a réponse.
9 août 2018 à 20:01
Et puis en plus tu pourrais, de base, mettre le bouton en disabled
Et il ne s'activerait qu'après qq secondes comme tu le souhaites