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 :

Script dans une page à part et l'appeler par un lien


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Par défaut Script dans une page à part et l'appeler par un lien
    Salut tlm!

    J'ai créé un petit script miJAVASCRIPT (qui n'est pas de moi) miPHP (de moi).
    Je voudrais activer ce script seulement sur clique d'un lien.

    Voila je n'y connait pas grand chose en javascript mais quelqu'un m'a dit qu'il faudrait:
    -> mettre mon script dans une page à part et l'appeler par un lien
    -> mettre mon script qui génère du javascript dans une fonction (ce que j'ai fait) et que je l'appele avec l'evenement onquelquechose (onclick etc...)

    Mon script (compte à rebour avant un événement)

    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
     
    <SCRIPT type=text/javascript>
    function CD_ZP(objVal){
    var str=""+objVal;
    var strl=str.length;
    return(strl!=2?"0"+str:str)
    };
    function pa_time(Time_Left){
    if(Time_Left == 0) {
    //Time_Left = 0;
    window.open("test.php","_self");
    }else{
    var heures = Math.floor(Time_Left / 3600);
    var minutes = Math.floor(((Time_Left / 3600) - Math.floor(Time_Left / 3600)) * 60);
    var seconds = Time_Left - ((Math.floor(Time_Left / 60)) * 60);
    document.getElementById("pa_time").innerHTML = CD_ZP(heures) + ':' + CD_ZP(minutes) + ':' + CD_ZP(seconds);
    setTimeout('pa_time(' + (Time_Left-1) + ');', 1000);
    }
    }
    </SCRIPT>
    <?
    //+++++++++++++++++++++++++++++++++++++++++++++++++++++
    //on se connecte a la bdd
    mysql_connect ('localhost','root','');
     $BD_base        = "dolbizz";
     @mysql_select_db($BD_base)
            or die("Impossible de se connecter à la base de données.");
    //+++++++++++++++++++++++++++++++++++++++++++++++++++++
    $id = 1;
    $req = mysql_query("SELECT mktime,pa FROM tutoriaux_tabletest WHERE id='$id'") or die (mysql_error());
    $data = mysql_fetch_array($req);
    $pa=$data['pa'];
    $pa_fini=$data['mktime'];//le mktime de la table correspond a la date de fin du compte a rebours
    $mktime=mktime();
    if($pa_fini<=$mktime){//si l date de fin est <= au temps d'aujourdhui
    $pa = $pa+1;
    $mktime = $mktime + 10;//test pour 1 minute
    mysql_query("UPDATE tutoriaux_tabletest Set mktime = '$mktime', pa='$pa' WHERE id='$id'") or die (mysql_error());
    }
    $req = mysql_query("SELECT mktime,pa FROM tutoriaux_tabletest WHERE id='$id'") or die (mysql_error());
    $data = mysql_fetch_array($req);
    $pa=$data['pa'];
    $pa_fini=$data['mktime'];//le mktime de la table correspond a la date de fin du compte a rebours
    $mktime=mktime();
    echo 'Pa:'.$pa.'<br>';
    echo 'Prochain dans: <DIV class=valeur id=pa_time></DIV><SCRIPT type=text/javascript>pa_time(';
    $req = mysql_query("SELECT mktime FROM tutoriaux_tabletest WHERE id='$id'") or die (mysql_error());
    $data = mysql_fetch_array($req);
    $pa_fini=$data['mktime'];//réupération de la date en seconde de la fin //du compte à rebours
    echo $pa_fini-mktime();//ici le script va faire la difference entre la date en secondes de maintenant et la date de fin pour savoir dans combien de temps le compte a rebours fini
    echo ')</SCRIPT>';
    Voilou voilou ce srait vraiment simpas de me faire un bel exemple

  2. #2
    Membre émérite
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Par défaut
    Pas besoin d'une autre page. Voici ce qu'il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <HTML>
    <HEAD>
    <SCRIPT language="javascript">
    function message()
    {
         alert("un message");
    }
    </SCRIPT>
    </HEAD>
    <BODY>
         <a href="#" onclick="javascript:message();">Cliquez ici</a>
    </BODY>
    </HTML>

  3. #3
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    onclick est déjà un évènement javascript, pas besoin du javascript:

    par contre, il serait plus correcte de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <HTML>
    <HEAD>
    <SCRIPT language="javascript">
    function message()
    {
         alert("un message");
    }
    </SCRIPT>
    </HEAD>
    <BODY>
         <a href="javascript:message();">Cliquez ici</a>
    </BODY>
    </HTML>
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  4. #4
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Par défaut
    MErci beaucoupe les gars c'est trop simpas.
    Et ce bout de code je l'insert ou?
    (j'ai peur de me planter, j'ai fais tellement de gaffes!)

  5. #5
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    il te suffit de mettre ton script Javascript généré par PHP dans la page où tu voulais mettre le lien, et modifier le lien comme indiqué tu n'as plus besoin que d'une seule page ^^
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  6. #6
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Par défaut
    Voila alors j'ai essayé tout ça avec ton 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
     
    <div style="text-align: left;"><HTML>
    <HEAD>
    <SCRIPT language="javascript">
    function message()
    {
         alert("un message");
    }
    </SCRIPT>
    </HEAD>
    <BODY>
         <a href="javascript:message();">Cliquez ici</a>
    </BODY>
    </HTML></div>
    En 1 j'ai essayé un copier/collé tout bete:
    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
    <HTML>
    <HEAD>
    <SCRIPT language="javascript">
    function message()
    {
         alert("un message");
    }
    </SCRIPT>
    </HEAD>
    <BODY>
         <a href="javascript:message();">Cliquez ici</a>
    </BODY>
    </HTML>
    <SCRIPT type=text/javascript>
     
    function CD_ZP(objVal){
    var str=""+objVal;
    var strl=str.length;
    return(strl!=2?"0"+str:str)
    };
    function pa_time(Time_Left){
    if(Time_Left == 0) {
    //Time_Left = 0;
    window.open("test.php","_self");
    }else{
    var heures = Math.floor(Time_Left / 3600);
    var minutes = Math.floor(((Time_Left / 3600) - Math.floor(Time_Left / 3600)) * 60);
    var seconds = Time_Left - ((Math.floor(Time_Left / 60)) * 60);
    document.getElementById("pa_time").innerHTML = CD_ZP(heures) + ':' + CD_ZP(minutes) + ':' + CD_ZP(seconds);
    setTimeout('pa_time(' + (Time_Left-1) + ');', 1000);
    }
    }
    </SCRIPT>
    <?
    //+++++++++++++++++++++++++++++++++++++++++++++++++++++
    //on se connecte a la bdd
    mysql_connect ('localhost','root','');
     $BD_base        = "dolbizz";
     @mysql_select_db($BD_base)
            or die("Impossible de se connecter à la base de données.");
    //+++++++++++++++++++++++++++++++++++++++++++++++++++++
    $id = 1;
    $req = mysql_query("SELECT mktime,pa FROM tutoriaux_tabletest WHERE id='$id'") or die (mysql_error());
    $data = mysql_fetch_array($req);
    $pa=$data['pa'];
    $pa_fini=$data['mktime'];//le mktime de la table correspond a la date de fin du compte a rebours
    $mktime=mktime();
    if($pa_fini<=$mktime){//si l date de fin est <= au temps d'aujourdhui
    $pa = $pa+1;
    $mktime = $mktime + 10;//test pour 1 minute
    mysql_query("UPDATE tutoriaux_tabletest Set mktime = '$mktime', pa='$pa' WHERE id='$id'") or die (mysql_error());
    }
    $req = mysql_query("SELECT mktime,pa FROM tutoriaux_tabletest WHERE id='$id'") or die (mysql_error());
    $data = mysql_fetch_array($req);
    $pa=$data['pa'];
    $pa_fini=$data['mktime'];//le mktime de la table correspond a la date de fin du compte a rebours
    $mktime=mktime();
    echo 'Pa:'.$pa.'<br>';
    echo 'Prochain dans: <DIV class=valeur id=pa_time></DIV><SCRIPT type=text/javascript>pa_time(';
    $req = mysql_query("SELECT mktime FROM tutoriaux_tabletest WHERE id='$id'") or die (mysql_error());
    $data = mysql_fetch_array($req);
    $pa_fini=$data['mktime'];//réupération de la date en seconde de la fin //du compte à rebours
    echo $pa_fini-mktime();//ici le script va faire la difference entre la date en secondes de maintenant et la date de fin pour savoir dans combien de temps le compte a rebours fini
    echo ')</SCRIPT>';
    Cela ne m'a rien changé si ce n'est un bouton et qd je clique dessu le message "un message" (rien d'étonnant en regardant le script)

    J'ai ensuite essayé de transformer "alert("un message");" en ce qui m'interresse (c'est à dire qd je clique sur le bouton à la place de "un message" il apparaisse mon compte à rebour + ma varialble php= mon script entier)

    Ce qui donne:
    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
    <HTML>
    <HEAD>
    <SCRIPT language="javascript">
    function message()
    {
       function CD_ZP(objVal){
    var str=""+objVal;
    var strl=str.length;
    return(strl!=2?"0"+str:str)
    };
    function pa_time(Time_Left){
    if(Time_Left == 0) {
    //Time_Left = 0;
    window.open("test.php","_self");
    }else{
    var heures = Math.floor(Time_Left / 3600);
    var minutes = Math.floor(((Time_Left / 3600) - Math.floor(Time_Left / 3600)) * 60);
    var seconds = Time_Left - ((Math.floor(Time_Left / 60)) * 60);
    document.getElementById("pa_time").innerHTML = CD_ZP(heures) + ':' + CD_ZP(minutes) + ':' + CD_ZP(seconds);
    setTimeout('pa_time(' + (Time_Left-1) + ');', 1000);
    }
    }
    </SCRIPT>
    <?
    //+++++++++++++++++++++++++++++++++++++++++++++++++++++
    //on se connecte a la bdd
    mysql_connect ('localhost','root','');
     $BD_base        = "dolbizz";
     @mysql_select_db($BD_base)
            or die("Impossible de se connecter à la base de données.");
    //+++++++++++++++++++++++++++++++++++++++++++++++++++++
    $id = 1;
    $req = mysql_query("SELECT mktime,pa FROM tutoriaux_tabletest WHERE id='$id'") or die (mysql_error());
    $data = mysql_fetch_array($req);
    $pa=$data['pa'];
    $pa_fini=$data['mktime'];//le mktime de la table correspond a la date de fin du compte a rebours
    $mktime=mktime();
    if($pa_fini<=$mktime){//si l date de fin est <= au temps d'aujourdhui
    $pa = $pa+1;
    $mktime = $mktime + 10;//test pour 1 minute
    mysql_query("UPDATE tutoriaux_tabletest Set mktime = '$mktime', pa='$pa' WHERE id='$id'") or die (mysql_error());
    }
    $req = mysql_query("SELECT mktime,pa FROM tutoriaux_tabletest WHERE id='$id'") or die (mysql_error());
    $data = mysql_fetch_array($req);
    $pa=$data['pa'];
    $pa_fini=$data['mktime'];//le mktime de la table correspond a la date de fin du compte a rebours
    $mktime=mktime();
    echo 'Pa:'.$pa.'<br>';
    echo 'Prochain dans: <DIV class=valeur id=pa_time></DIV><SCRIPT type=text/javascript>pa_time(';
    $req = mysql_query("SELECT mktime FROM tutoriaux_tabletest WHERE id='$id'") or die (mysql_error());
    $data = mysql_fetch_array($req);
    $pa_fini=$data['mktime'];//réupération de la date en seconde de la fin //du compte à rebours
    echo $pa_fini-mktime();//ici le script va faire la difference entre la date en secondes de maintenant et la date de fin pour savoir dans combien de temps le compte a rebours fini
    echo ')</SCRIPT>';
    A mon avis je n'y suis pas du tout!

    Il me faut vraiment beaucoup d'aide je ne comprend pas ou vous voulez en venir avec votre script!!

    Merci de m'aider mais je désespère

Discussions similaires

  1. Problème intégration script dans une page html
    Par pazgal dans le forum VBScript
    Réponses: 0
    Dernier message: 31/08/2010, 16h28
  2. Implanter un script dans une page d'accueil
    Par allopizza dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/11/2009, 08h47
  3. [MooTools] Execution de script dans une page ajax généré par mootools
    Par gaet-gaet dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 26/09/2009, 12h28
  4. Script dans une page jsp
    Par foufi5 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 01/09/2008, 14h44
  5. repeter plusieurs fois le meme script dans une page
    Par juju03 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 02/07/2008, 11h22

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