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

Résolu/Fermé
Signaler
Messages postés
3121
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
7 novembre 2021
-
Messages postés
3121
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
7 novembre 2021
-
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

Messages postés
34234
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 décembre 2021
3 861
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>";
?>

Messages postés
3121
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
7 novembre 2021
147
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.
Messages postés
34234
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 décembre 2021
3 861 >
Messages postés
3121
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
7 novembre 2021

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";

Messages postés
3121
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
7 novembre 2021
147 >
Messages postés
34234
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 décembre 2021

Oui 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 :)
Messages postés
3121
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
7 novembre 2021
147
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