Timer sur un bouton post?

WRInaute accro
Hello!
Alors voilà, j'aimerai mettre un petit compte à rebours sur le bouton "J'accepte" (genre 15/20 secondes) avant qu'il ne soit clicable :
-http://www.forum-musique.eu/forum/register.php

Tout ça dans l'optique de forcer les gens à lire le règlement...
Si ça peut rebuter certains spammeurs humains...
Je préfère avoir moins d'inscriptions mais de bonnes inscriptions...
:roll:
 
WRInaute impliqué
en mettant le-dit bouton dans un div caché au chargement de la page et qui apparait après un certain temps. Cela est réalisable en javascript sans aucun doute. Il te faudrait faire des recherches de ce côté-là
 
WRInaute passionné
Oui en javascript ça doit être facilement réalisable...

Sinon pas mal sur ton blogue l'anti-spam (vérification avant le submit) pour valider un commentaire :

Captcha anti-spam :
que donne quarante-cinq moins neuf ? (chiffres)

Bien vu ! :)
 
WRInaute impliqué
Ce genre d'anti-spam est bien connu et commence à ce répandre de plus en plus en raison de son accessibilité.
 
WRInaute accro
ACth a dit:
Ce genre d'anti-spam est bien connu et commence à ce répandre de plus en plus en raison de son accessibilité.
Accessibilité, c'est vite dit, car les handicaps ne sont pas que visuels, il y a aussi des handicaps cognitifs. Quel est le pourcentage de personnes de plus de 10 ans qui sont incapables d'un tel raisonnement mathématique ? :roll:
 
WRInaute impliqué
Leonick a dit:
Accessibilité, c'est vite dit, car les handicaps ne sont pas que visuels, il y a aussi des handicaps cognitifs.
Certes, mais quel autre solution propose tu qui soit plus accessible, hormis l'accès entièrement libre, incitant au spam ?

Leonick a dit:
Quel est le pourcentage de personnes de plus de 10 ans qui sont incapables d'un tel raisonnement mathématique ? :roll:
oui...je peux effectivement te trouver encore beaucoup d'autres questions dans le genre! :roll:
 
WRInaute impliqué
js: javascript (je ne sais pas si "java..." le signifiait)


-> comme je l'ai souvent entendu: Google est ton ami !
 
WRInaute accro
ACth a dit:
Google est ton ami !
Surement pas!
On parle bien de ce moteur de recherche complètement has been?...


Code:
function attente($time)
{
    $i = time() + $time;
    while (time() <= $i)
    {
// echo $i-time(); // attention à l'affichage !!
    }
}
Je vois vraiment pas où il veut en venir celui là...
 
WRInaute impliqué
Audiofeeline a dit:
Code:
function attente($time)
{
    $i = time() + $time;
    while (time() <= $i)
    {
// echo $i-time(); // attention à l'affichage !!
    }
}
Je vois vraiment pas où il veut en venir celui là...
ben avec de code il affiche quelque chose durant le temps : $time :roll:
-> mais aucun intérêt en php, puisqu'il te faut quelque chose coté client (à moins que tu ne fasse de l'ajax).


ps: sans l'ami google c'est toujours plus dur!
 
Nouveau WRInaute
Allez, je profite de mon insomnie pour te gratifier d'un code sur mesure (et accessible de surcroit).

Insère ça dans le head de la page, en changeant la variable temps par le temps que tu veux, en secondes:
Code:
<script type="text/javascript" language="javascript">
<!--
var temps=10; //temps du décompte avant activation du bouton
var idButton='registerButton'; //ID du bouton

//ne plus rien toucher après cette ligne !!!
var buttonValue='';
var timerRegister=null;

function startRegisterTimer(){
    var elt=document.getElementById(idButton);

    buttonValue=elt.value;
    elt.disabled=true; //désactivation du bouton
    elt.value=buttonValue+' ('+temps+')'; //changement du texte du bouton
    timerRegister=setInterval('showRegisterButton()', 1000); //lancement de la boucle
    temps--;
}

function showRegisterButton(){
    var elt=document.getElementById(idButton);

    if(temps==0){
        elt.disabled=false; //activation du bouton
        elt.value=buttonValue; //On restaure le texte original du bouton
        clearInterval(timerRegister); //On arrête la boucle
    }else{
        elt.value=buttonValue+' ('+temps+')'; //changement du texte du bouton
        temps--;
    }
}
-->
</script>

Remplace également <body> par
Code:
<body onload="startRegisterTimer();">

Ensuite, dans le form qui va bien, tu as juste à changer ton bouton de validation pour qu'il ait l'id "registerButton" (attention à la majuscule).
Par exemple:
Code:
<input type="submit" name="registerButton" id="registerButton" value="S'enregistrer" />

Et voilà !

Ce code va, une fois la page chargée, désactiver le bouton registerButton, en changer son contenu pour afficher le temps qu'il reste de décompte, puis l'activer à la fin de ce décompte. Si javascript n'était pas activé, le bouton ne serait jamais désactivé, pour ne bloquer personne.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut