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 :

Permettre la modofication d'une horloge


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Par défaut Permettre la modofication d'une horloge
    bonjour, j'aimerai autoriser à un utilisateur la modification de l'heure qui s'affiche dans un champ. J'aimerai que lorsqu'il modifie le champ, sa valeur ne soit pas effacée par l'heure systéme qui a tendance à réapparaitre.
    Comment faire?

    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
    19
    20
    21
    22
    23
    24
    <HTML>
    <HEAD>
    <SCRIPT LANGUAGE="Javascript">
    <!--
    function getDt(){
    dt=new Date();
    hrs=dt.getHours();
    min=dt.getMinutes();
    sec=dt.getSeconds();
    tm=" "+((hrs<10)?"0":"") +hrs+":";
    tm+=((min<10)?"0":"")+min+":";
    tm+=((sec<10)?"0":"")+sec+" ";
    document.horloge.display.value=tm;
    setTimeout("getDt()",1000);
    }
    // -->
    </SCRIPT>
    </HEAD>
    <BODY onLoad="getDt()">
    <FORM name="horloge">
    <INPUT TYPE="text" NAME="display" SIZE=15 VALUE ="">
    </FORM>
    </BODY>
    </HTML>

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    sur le onchange de ton champ, tu devrais mettre un flag qui te permettrais de tester en arrivant dans ta methode si tu doit faire ce que tu fais la ou en plus faire des setHour sur la date en prenant ce qu'il y a dans ton input

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Par défaut
    ce qui m'embete c'est que l'utilisateur ne peux saisir et s'il le fait, l'heure système réapparait aussi tot. c'est ce que je veux empecher.

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    ben deja il a qu'une seconde pour modifier, c est vrai que c est court

    sinon sur le onkeydown, tu fais un clear timeout et sur le onchange (validation) tu le relance

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Par défaut
    j'ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="clearTimeout(Horloge());"
    le compteur s'arrete un moment, puis cela continue et effece mes modifications

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    deux pistes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var horloge=setTimeout("getDt()",1000); 
     
    clearTimeout(horloge)
    voire a declarer horloge en global si le clearTimeout n'est pas dans la même focntion


    ou alors
    avec un setInterval ... au lieu du setTimeout dans le fonction ...
    j'ai jamais trop aimé faire un appel à la focntion au sein même de la fonction
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Par défaut
    j'ai plutot écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function vide_champ() 
    {clearTimeout(Horloge());
    document.getElementById("heurdeb").value = "";
    }
    le champ se vide juste pour 2 ou 3 secondes et l'heure réapparait, ne peut on pas arreter l'horloge?

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    désolé d'être intervenu je ne recommencerais pas ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Par défaut
    avec setInterval , pas d'amélioration.

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    un exemple valant mieux que de longs palabres sur un code que l'on n'a pas vu dans son intégralité ...
    voici un péché de jeunesse :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <html>
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Count down</title>
    <script type="text/javascript"> 
    //Script By SpaceFrog 2004
    var tps = 0 ; 
    var h=0 ;
    var m= 0;
    var s=0;
    var disp="";
    var idtimer =setInterval('affichetemps()',1000);
     
    function affichetemps(){ 
     
      tps++ ; 
      h = parseInt(tps/3600) ; 
      m = parseInt((tps%3600)/60) ; 
      s = parseInt((tps%3600)%60) ;
      disp = (h<10 ? "0"+h : h) + ':' + (m<10 ? "0"+m : m) + ':' + (s<10 ? "0"+s : s) ; 
      document.getElementById('temps').innerHTML= disp;
     
      if (s >= 12) {
       alert('ici tu peux envoyer ta fonction'); 
       clearInterval(idtimer); 
       return;
       } 
    } 
     
    </script>
    </head> 
    <body onload="idtimer"> 
    <div id="temps" style="font-family: DigifaceWide; size: 10px;">00:00:00</div> 
    </html>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Par défaut
    j'avais écrit cette function juste avant de lire le ton post, je voulais simplement savoir si c'atait pas la meme chose (les 2 bouts de codes)!

Discussions similaires

  1. Créer une horloge
    Par luuuuuc dans le forum Access
    Réponses: 13
    Dernier message: 03/01/2007, 13h55
  2. Réponses: 4
    Dernier message: 19/06/2006, 14h52
  3. [UseCase Diagram] Représentation d'une horloge
    Par eXiaNazaire dans le forum Cas d'utilisation
    Réponses: 18
    Dernier message: 09/01/2006, 18h47
  4. Recuperer heure d'une horloge atomique (Internet) ?
    Par Mailgifson dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/07/2004, 12h00
  5. Calculer la période d'une horloge
    Par barthelv dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 08/03/2004, 16h39

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