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

Signaler
Messages postés
3076
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
18 février 2020
-
cocodu67...
Messages postés
3076
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
18 février 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
27610
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2020
2 118
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>";
?>

cocodu67...
Messages postés
3076
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
18 février 2020
105
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.
jordane45
Messages postés
27610
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2020
2 118 > cocodu67...
Messages postés
3076
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
18 février 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";

cocodu67...
Messages postés
3076
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
18 février 2020
105 > jordane45
Messages postés
27610
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 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 :)
cocodu67...
Messages postés
3076
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
18 février 2020
105
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