IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Détecter chaque bouton appuyé+temporisation


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Par défaut Détecter chaque bouton appuyé+temporisation
    Bonjour,
    j'ai une page de formulaire qui lance une page de pub au bout de 5 secondes si l'utilisateur ne fait rien, mais s'il est en train de saisir des informations dans le formulaire le décompte doit se remettre à zéro, donc j'aimerais qu'à chaque fois que l'utilisateur appuie sur un bouton du clavier il se passe 5 secondes avant le lancement de la page de pub.
    Voici mon code :

    le javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    var timer;   
    function pub()   
    {   
         timer = setTimeout("affichePub()",5000);   
         document.onkeypress = changetemps;   
    }   
     
    function changetemps()   
    {   
         timer = setTimeout("affichePub()",5000);   
    }   
     
    function affichePub()   
    {   
         location.href='pub.html';   
    }
    et le html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        <body onload="javascript:pub();">   
             <form method="POST" action="connexion.php">   
                  <input type="text" name="login"/>   
                  <input type="text" name="mdp"/>   
                  <input type="submit" value="Se connecter" name="seco"/>   
             </form>   
        </body>

  2. #2
    Membre confirmé Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Par défaut
    hello !

    Dans ton HTML tu peus enlever: "onload="javascript:pub();""
    On obtient donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     <body onload="pub();">   
             <form method="POST" action="connexion.php">   
                  <input type="text" name="login"/>   
                  <input type="text" name="mdp"/>   
                  <input type="submit" value="Se connecter" name="seco"/>   
             </form>   
        </body>
    On utilise cette methode pour lien uniquement

    Dans le js essait ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    var timer;
    function pub()
    {
    document.body.onkeypress = changetemps;
    timer = setTimeout("affichePub()",5000);
    }   
     
    function changetemps()   
    {   
         clearTimeout(timer);
         setTimeout("affichePub()",5000);
    }   
     
    function affichePub()   
    {   
         location.href = 'pub.html';   
    }

  3. #3
    Membre confirmé Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Par défaut
    Awi et si tu veux pas embeter ton visiteur je te conseil vivement d'ouvrir ta pub dans une pop-up pk sinon le formulaire se réinitialisera dès le changement de page (ici vers ta pub) donc le visiteur va vite devenir fou ou alors il faut augmenter de beaucoup le temps avant l'affichage de la pub

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Par défaut
    ok merci ça a l'air de marcher mais j'ai encore optimisé ton code ^^ :

    javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    var timer;  
    function pub()  
    {  
           timer = setTimeout("affichePub()",5000);  
           document.onkeypress = changetemps;  
    }  
     
    function changetemps()  
    {  
          window.clearTimeout(timer);  
          pub();  
    }  
     
    function affichePub()  
    {  
          location.href='pub.html';  
    }

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function pub()  
    {  
           timer = setTimeout(affichePub,5000);  
           document.onkeypress = changetemps;  
    }
    sera même encore mieux
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre confirmé Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Par défaut
    Oui mais le fait d'attribué une fonction onkeypress a tout les éléments du document a chaque appelle de le fonction pub() ne sert pas a grand chose, tu perds même en performances (bon ok de pas beaucoup ^^), personnellement si je devait l'optimisé je mettrais document.onkeypress = [...] dans une fonction a part, et qui est appellé juste une fois au chargement de la page avec le onload Enfin a toi de voir c'est qu'un detail

    A bientot !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [GTK+] Event Bouton appuyé
    Par Skarsnick dans le forum GTK+ avec C & C++
    Réponses: 19
    Dernier message: 26/08/2009, 12h53
  2. Comment détecter une touche appuyée
    Par ninaleo dans le forum Langage
    Réponses: 2
    Dernier message: 13/04/2009, 09h31
  3. Détecter un bouton dans une fenêtre
    Par france38 dans le forum Windows
    Réponses: 17
    Dernier message: 03/02/2009, 11h10
  4. Réponses: 5
    Dernier message: 20/08/2008, 19h53
  5. [c++.net] détecter le bouton agrandissement
    Par stgi02 dans le forum VC++ .NET
    Réponses: 4
    Dernier message: 21/04/2006, 11h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo