Lancer une fonction javascript avec argument à l'aide de php

Résolu
Bonjour,

Je possède une fonction javascript du style :

<script>
function Timestamp(timestamp)
{
var chaine = timestamp + " Hello";
return chaine;
}
</script>


Et je souhaite la lancer en pvp avec quelque chose comme

<?php
$timestamp = time();
echo "<script>Timestamp('<?php echo $timestamp; ?>')</script>";
?>


J'ai donc une fonction javascript dans laquelle je dois passer un argument qui se trouve dans le php.

Le problème c'est que mon code php j'affiche rien, certainement car il y a une erreur de syntaxe.

Pouvez vous m'aider ?
Merci d'avance

1 réponse

  1. Modérateur
    Bonjour,


    Le problème c'est que mon code php j'affiche rien, certainement car il y a une erreur de syntaxe.

    oui... tu mets un ECHO .... alors que tu es déjà dans un echo ....

    A la limite... ça serait comme ceci :
    
    <?php
    $timestamp = time();
    echo "<script type='text/javascript'>Timestamp('".$timestamp."');</script>";
    ?>
    


    par contre.. ce script n'affichera rien à l'écran ...
    Si tu veux l'afficher dans une "popup".. il te faut ajouter un ALERT...
    
    <?php
    $timestamp = time();
    echo "<script type='text/javascript'>alert(Timestamp('".$timestamp."'));</script>";
    ?>
    

    1. Merci, cela fonctionne. Par contre peut-on afficher le résultat retourné par la fonction directement sur la page là où se trouve le echo ? C'est les alert gêneraient beaucoup étant donné que la fonction sera appelé plusieurs fois sur une page.
    2. Mince désolé, j'avais déjà fais ça en javascript il y a quelques temps ...
      Dans la fonction javascript je rajoute :
      document.write(chaine);
      Même pas besoin de return, ça affiche le résultat à l'endroit du echo qu'importe le nombre de fois où j'appel la page.

      Merci de votre aide :)
      Bonne journée
    3. Modérateur
      @cocodu67...Dans ton javascript .. tu pourrais utiliser un document.writte....
      Mais .... pourquoi faire tout ça en javascript .. alors que tu pourrais directement le faire en PHP ??

      $timestamp = time();
      echo $timestamp." Hello";
      
      
    4. @jordane45Oui mais en faite je voulais vous épargner la fonction javascript alors j'ai remplacé son code par quelque chose de très simple. Puis tant que ça fonctionne pour le moment c'est bon :)