Lancer une fonction javascript avec argument à l'aide de php [Résolu/Fermé]

Signaler
Messages postés
3086
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
26 octobre 2020
-
Messages postés
3086
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
26 octobre 2020
-
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
29911
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020
2 907
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
3086
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
26 octobre 2020
120
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
29911
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020
2 907 >
Messages postés
3086
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
26 octobre 2020

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
3086
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
26 octobre 2020
120 >
Messages postés
29911
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020

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
3086
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
26 octobre 2020
120
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