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 :

Appeler une fonction dans le body


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 173
    Points : 123
    Points
    123
    Par défaut Appeler une fonction dans le body
    Bonjour,
    voici mon code

    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
    <SCRIPT LANGUAGE="JavaScript">
     
    var date = 0;
     
    function delai(temp){
      date=temp;
      disp_delai();
     
    }
    function disp_delai(){
      date=date-1;
    document.getElementById("digitalclock2").innerHTML=date
      setTimeout("disp_delai()",1000);
    }
     
    </SCRIPT>
     
     <html>
     <head>
       <title>Compte à rebours</title>
     
     </head>
     <body >
     <br>
    <? if(condition) {
           // déclencher timer en appelant fonction Delai(100)
          ?> <form name="mail" method=get action="delai(100)"> <span id="digitalclock2" class=listText style='font-weight: bold; '></span> <?
    }
         else
           echo "pas de timer";
    ?>
     </body>
     </html>
    sous une certain condition, j'aimerai appeler ma fonction javascript (affiche un compt à rebour).. mon problème: je ne réussi pas à l'appeler!! ça marche seulement quand je met dans <body onLoad="delai(100)">..

    ça doit surement être un truc très banale mais je galère depuis hier et j'ai rien trouvé
    j'ai regardé dans les faq et j'ai rien trouvé..

    merci d'avance

  2. #2
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    c'est quoi cette conditon ...
    elle est déterminante pour savoir à partir de quel évènement lancer la fonction ...

    en gros avec une conditon bidon:

    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
    <html>
    <head>
    <title>Compte à rebours</title>
     
     
    <SCRIPT LANGUAGE="JavaScript">
     
    var date = 0;
     
    function delai(temp){
    date=temp;
    disp_delai();
     
    }
    function disp_delai(){
    date=date-1;
    document.getElementById("digitalclock2").innerHTML=date
    setTimeout("disp_delai()",1000);
    }
     
    </SCRIPT>
     
     
    </head>
    <body >
    <br>
     <form name="mail" method=get action="delai(100)"> <div id="digitalclock2" class=listText style='font-weight: bold; '></div> 
    </form>
    </body>
    <script type='text/javascript'>
    condition=true
    if(condition) {delai(100)} // déclencher timer en appelant fonction Delai(100)
    else{
    alert( "pas de timer");
    }
    </script>
    </html>
    mais tout dépend d'ou vient ta conditon ...
    de plus attention: Delai(100) != delai(100) javascript es sensible à la casse ...
    et tu avais un problme d'instanciation (appel d'element avant qu'il ne soit créé)
    et pour finir tu mélange php et javascript, là j'ai tout passé en javascript ...
    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 !

  3. #3
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    T'as la source générée par ton PHP à nous donner? Dans le navigateur, afficher la source.
    Tu veux l'appeler quand? Si c'est à la validation du formulaire c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" ... onlick="Delai(100) ;">
    Si c'est à l'exécution de la page sans mettre de onload dans le body
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <body>
    <script type="text/javascript">
    Delai(100);
    </script>
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    trop lent petit scarabée
    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 !

  5. #5
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Je travaille... moi
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 173
    Points : 123
    Points
    123
    Par défaut
    merci de votre réponse mais je n'est pas été assez clair.
    j'ai simplifié le tout (le code que je vous ai donné est un exemple).. mon code génère plus de 1000 lignes..

    il n'y a pas de bug, mon problème c'est que sous certaines condition, je dois afficher un compte à rebour.

    avec ce code ça marche:

    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
     
    <SCRIPT LANGUAGE="JavaScript">
     
    var date = 0;
     
    function delai(temp){
      date=temp;
      disp_delai();
     
    }
     
    function disp_delai(){
      date=date-1;
    document.getElementById("digitalclock2").innerHTML=date
      setTimeout("disp_delai()",1000);
    }
     
    </SCRIPT>
     
     <html>
     <head>
       <title>Compte à rebours</title>
     
     </head>
     <body [color=green]onload="delai(100)"[/color]>
     <br>
    <form name="mail" method=get> <span id="digitalclock2" class=listText style='font-weight: bold; '> [color=red]ICI[/color] </span>
     </body>
     </html>
    le compte à rebour est donc affiché ou il y le ICI en rouge.
    dans ce cas le timer part tout le temps parce que j'appel la fonction delai(100) dans le 'onload' du tag body (en vert)


    dans mon cas, je veux faire partir ce timer que sous certaines conditions (que je consulte dans ma base de données)

    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
     
    <SCRIPT LANGUAGE="JavaScript">
     
    var date = 0;
     
    function delai(temp){
      date=temp;
      disp_delai();
     
    }
     
    function disp_delai(){
      date=date-1;
    document.getElementById("digitalclock2").innerHTML=date
      setTimeout("disp_delai()",1000);
    }
     
    </SCRIPT>
     
     <html>
     <head>
       <title>Compte à rebours</title>
     
     </head>
     <body >
     <br>
    <form name="mail" method=get action="delai(100)"> <span id="digitalclock2" class=listText style='font-weight: bold; '> </span>
     
    si la condition est ok alors
    [color=red]FAIRE PARTIR TIMER (appel la fonction delai(100))[/color]
     
     </body>
     </html>
    au début j'ai essayé de faire comme m'a dit Franculo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script type="text/javascript">
    delai(100);
    </script>
    mais ça marche po

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 173
    Points : 123
    Points
    123
    Par défaut
    j'ai honte.. je sais pas ce que j'ai fait tout à l'heure (c'est la première chose que j'ai essayé.. c'est la plus logique) mais maintenant ça marche ce

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script type="text/javascript">
    delai(100);
    </script>
    merci à vous deux

  8. #8
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    boutons [code] pas [quote]
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

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

Discussions similaires

  1. [JS] Appeler une fonction dans un script externe
    Par agent007se dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/03/2007, 12h30
  2. [C#][2.0] Appel à une fonction dans global.asax
    Par lilianjee dans le forum ASP.NET
    Réponses: 2
    Dernier message: 05/10/2006, 15h58
  3. appel à une fonction dans la classe Action
    Par imane_bennouna dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/08/2006, 11h09
  4. Appeler une fonction dans un autre cadre !
    Par rich25200 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/11/2005, 13h01
  5. Réponses: 7
    Dernier message: 10/09/2005, 16h49

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