Bien le bonjour,
Ci dessous, un code on ne peut plus simple pour �viter la multi soumission d'un lien. L'exemple est simplifi� � outrance pour mettre en lumi�re le probl�me. Dans cet exemple, on se contente de recharcher la m�me page � chaque click sur le lien. Le Href est appel� uniquement au premier clic car le onclick retourne true uniquement si la variable js token est � true. Suite au premier clic, le token est plac� � false et tout clic suivant ne fait donc rien.
Sous Chrome, Firefox, aucun soucis, ce code fonctionne parfaitement.
Sous IE, si on clique lentement aucun soucis, mais d�s lors qu'on clique rapidement sur le lien, et qu'on d�clenche en r�alit� un double clic, le onclick retourne bien true mais le Href n'est pas appel� ce qui est compl�tement aberrant !
Pour reproduire le probl�me, il suffit d'afficher la console de IE et de voir qu'en cliquant rapidement sur le lien, on a des sorties console "false - token false" et donc que le lien n'a pas fonctionn�. Sous Chrome cette sortie console ne survient jamais.
Si un illumin� a une explication � ce ph�nom�ne que je n'explique pas, je suis preneur.
Merci d'avance.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 var token = true; function checkToken() { if (token == true) { token = false; return true; } else { return false; } }
Code html : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 <a href="javascript:document.location.href = 'test.html';" onclick="if (checkToken()) { return true; } else { console.log('return false - token false'); return false; }"> LIEN </a>
Partager