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 :

Erreur dans une fonction javascript


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Erreur dans une fonction javascript
    Salut à tous,

    J'utilise depuis plusieurs mois une fonction javascript.
    Je n'ai jamais eu de problème avec elle.
    Malheureusement, depuis quelques jours, quand je ferme mon IE ou simplement l'onglet de ma page une erreur apparait.
    pourriez vous m'aider a corriger ce probleme ?

    Voici la fonction:

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    function heure() {
    //Horloge a l'heure de Paris
    var dd;
    var Maintenant = new Date();
    var fuseau = Maintenant.getTimezoneOffset();
    var heures = Maintenant.getHours();
    var minutes = Maintenant.getMinutes();
    var secondes = Maintenant.getSeconds();
    //Décalage par rapport à Greenwich (GMT) - +1 pour Paris
    heures = heures + (fuseau/60)+1;
    //heure été
    var annee = Maintenant.getFullYear();
    for (i=31; i >24; i--) {
    dimanche = new Date(annee, 2, i);
    if (dimanche.getDay()==0) break;
    }
    for (i=31; i >24; i--) {
    dimanche2 = new Date(annee, 9, i);
    if (dimanche2.getDay()==0) break;
    }
    if (Maintenant >= dimanche && Maintenant < dimanche2) heures = heures + 1;
    //heure été
    // quelques corrections pour retablir des heures inferieures a 0H et superieures a 23H
    if ( heures < 0 ) {
    heures = 24 + heures;
    }
    if (heures > 23) {
    heures = heures - 24;
    }
    heures = ((heures < 10) ? " 0" : " ") + heures;
    minutes = ((minutes < 10) ? ":0" : ":") + minutes;
    secondes = ((secondes < 10) ? ":0" : ":") + secondes;
    // formhorloge_Paris: nom du formulaire pour l'horloge a l'heure de Paris
    // horloge: nom de l'input, où sera affiché l'horloge
    document.formhorloge_Paris.horloge.value = heures + minutes + secondes;
     
    //Horloge de Chicago
    //de meme sauf qu'on a pas besoin de l'heure d'été
    var Maintenant2 = new Date();
    var fuseau2 = Maintenant2.getTimezoneOffset();
    var heures2 = Maintenant2.getHours();
    var minutes2 = Maintenant2.getMinutes();
    var secondes2 = Maintenant2.getSeconds();
    //Décalage par rapport à Greenwich (GMT) -4 pour montréal
    heures2 = heures2 + (fuseau2/60)-5;
     
    //heure été
    var annee2 = Maintenant2.getFullYear();
    for (i=31; i >24; i--) {
    dimanche11 = new Date(annee2, 2, i);
    if (dimanche11.getDay()==0) break;
    }
    for (i=31; i >24; i--) {
    dimanche22 = new Date(annee2, 9, i);
    if (dimanche22.getDay()==0) break;
    }
    if (Maintenant2 >= dimanche11 && Maintenant2 < dimanche22) heures2 = heures2 + 1;
    //heure été
     
    // quelques corrections pour retablir des heures inferieures a 0H et superieures a 23H
    if ( heures2 < 0 ) {
    heures2 = 24 + heures2;
    }
    if (heures2 > 23) {
    heures2 = heures2 - 24;
    }
    heures2 = ((heures2 < 10) ? " 0" : " ") + heures2;
    minutes2 = ((minutes2 < 10) ? ":0" : ":") + minutes2;
    secondes2 = ((secondes2 < 10) ? ":0" : ":") + secondes2;
    document.formhorloge_montreal.horloge.value = heures2 + minutes2 + secondes2;
    dd=setTimeout("heure()",1000);
    }
    //-->
    </script>
    <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.getElementById('display').innerHTML=tm; 
    setTimeout("getDt()",1000); 
    }
    function getDt2(){ 
    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.getElementById('display2').innerHTML=tm; 
    setTimeout("getDt2()",1000); 
    } 
    // --> 
     
    <body onload="heure()" onUnload="clearTimeout(dd)" onLoad="getDt()">
    Lignes d'appel du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="text" name="horloge" value="" size="10" style="background: transparent; border: none" />
    <input type="text" name="horloge" value="" size="10" style="background: transparent; border: none" />
    L'erreur qui apparait est la suivante :
    Unne erreur est survenue dans le script de cette page
    'dd' est indéfini
    voulez vous continuer à executer les scripts de cette page?
    Je vous précise que cette erreur est située au niveau de la balise <body>


    Le truc bizare est que cette erreur n'est apparu qu'il y a queques jours alors que le script date de plusieurs mois.
    Est-ce due a une maj de IE ??

    Merci bcp pour votre aide.

    PS: Si vous voulez voir l'erreur en live allez sur www.nicotom.com

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    bonjour,

    dans ta balise body tu as deux fois l'événement onload :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="heure()" onUnload="clearTimeout(dd)" onLoad="getDt()">

    Il y a sans doute une fonction qui est appelée et pas l'autre.

    Ecris également les événements en minuscules

Discussions similaires

  1. erreur dans une fonction javascript toute simple
    Par totoAussi dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/10/2009, 12h19
  2. créer un type dans une fonction javascript
    Par amelhog dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/07/2005, 13h54
  3. créer un type hidden dans une fonction javascript
    Par amelhog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/05/2005, 12h17
  4. variable dynamique dans une fonction javascript
    Par Shivaneth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/04/2005, 15h58
  5. Réponses: 2
    Dernier message: 11/08/2004, 15h01

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