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 :

onload / innerHTML


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Homme Profil pro
    Etudiant CNAM (DIE20)
    Inscrit en
    Janvier 2010
    Messages
    151
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Etudiant CNAM (DIE20)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 151
    Par d�faut onload / innerHTML
    Bonjour,

    Je ne trouve pas mon erreur sur un script sens� afficher la date et l'heure avec actualisation en temps r�el.
    Je me suis inspir� d'une FAQ de ce site ainsi que d'un billet de blog pr�sentant un code similaire :

    Fichier index.html :
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!DOCTYPE html>
    <html>
    	<head>
    		<title>Affichage heure temps réel</title>
    		<script type="text/javascript" src="datetime.js"></script>
    	</head>
    	<body onLoad="DateTime('heure');">
    		<p id="heure">L heure doit s afficher ici</p>
    	</body>
    </html>

    fichier datetime.js :
    Code javascript : 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
    function DateTime(id) {
     
        var date 	= new Date();
     
        var AAAA 	= date.getFullYear();
        var MM 		= date.getMonth();
        var JJ 		= date.getDate();
        var jour 	= date.getDay();
        var heure 	= date.getHours();    	
        var min 	= date.getMinutes();    
        var sec 	= date.getSeconds();   
     
        if (heure < 10) { heure = "0" + heure; }
        if (min   < 10) { min   = "0" + min;   }
        if (sec   < 10) { sec   = "0" + sec;   }
     
        var tab_jours = new Array('Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam');
        var affichage = tab_jour[JJ]+'. '+JJ+' '+MM+' '+AAAA+' '+heure+':'+min+':'+sec;
        document.getElementById(id).innerHTML = affichage;
        setTimeout('datetime('+id+')',1000);
    }

    Seul le texte "L'heure doit s'afficher ici" apparait...
    Idem en passant par window.onload = ...

    J'imagine que le probl�me doit �tre gros comme une maison, mais je ne vois pas (NB: javascript est bien activ� et fonctionnel).

    Merci d'avance pour l'aide apport�e

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    D�tails du profil
    Informations personnelles :
    �ge : 53
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par d�faut
    salut,

    minuscule et majuscule ... regarde dans ta console tu verras les erreurs

  3. #3
    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 : 55
    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
    Une premi�re piste :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    setTimeout('datetime('+id+')',1000);
    JavaScript est sensible � la casse !

    Mais sinon, il y a plus simple
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    function DateTime(){
        document.getElementById('heure').innerHTML = new Date().toLocaleString();
        setTimeout(DateTime, 1000);
    }
    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

  4. #4
    Membre confirm�
    Homme Profil pro
    Etudiant CNAM (DIE20)
    Inscrit en
    Janvier 2010
    Messages
    151
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Etudiant CNAM (DIE20)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 151
    Par d�faut
    Merci pour vos r�ponses.
    Chkreungneugneu de casse...

    Mais malheureusement, il n'y avait pas que cela...
    Merci aussi de m'avoir rappel� que j'avais une console d'erreur dans Firebug ! J'ai ainsi pu trouver les autres erreurs

    En revoyant le code, je me suis dit aussi que l'appel r�cursif dans la fonction DateTime() n'�tait peut-�tre pas le mieux, donc je l'appelle d�sormais avec un setInterval.

    Voici le code final (�a int�ressera peut-�tre certains qui tomberont l� dessus) :

    Fichier index.html :
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!DOCTYPE html>
    <html>
    	<head>
    		<title>Affichage heure temps réel</title>
    		<script type="text/javascript" src="datetime.js"></script>
    	</head>
    	<body onLoad="DateTime('heure');">
    		<p id="heure">L heure doit s afficher ici</p>
    	</body>
    </html>

    Fichier datetime.js :
    Code javascript : 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
    function DateTime(id) {
    	setInterval('Clock("'+id+'")',1000);
    }
     
    function Clock(id) {
     
        var date 	= new Date();
     
        var AAAA 	= date.getFullYear();
        var MM 	= date.getMonth() + 1;
        var JJ 	= date.getDate();
        var jour 	= date.getDay();
        var heure 	= date.getHours();    	
        var min 	= date.getMinutes();    
        var sec 	= date.getSeconds();   
     
        if (heure < 10) { heure = "0" + heure; }
        if (min   < 10) { min   = "0" + min;   }
        if (sec   < 10) { sec   = "0" + sec;   }
     
        var tab_jours = new Array('Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam');
        var affichage = tab_jours[jour]+'. '+JJ+'-'+MM+'-'+AAAA+' '+heure+':'+min+':'+sec;
        document.getElementById(id).innerHTML = affichage;
    }

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me avec InnerHTML
    Par rat dgout dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 19/04/2005, 10h02
  2. div et innerHTML : tout sur une ligne?
    Par LineLe dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 04/04/2005, 11h15
  3. Probl�me innerHTML sur div !!!
    Par aburner dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 27/01/2005, 09h23
  4. getelementbyid innerhtml sur Opera?
    Par cynthia dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 31/12/2004, 10h44
  5. question sur onLoad()
    Par Flobel dans le forum G�n�ral JavaScript
    R�ponses: 9
    Dernier message: 09/12/2004, 16h50

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