PHP et Javascript
Fermé
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
-
Modifié par pijaku le 18/12/2013 à 09:37
Utilisateur anonyme - 17 déc. 2013 à 16:42
Utilisateur anonyme - 17 déc. 2013 à 16:42
A voir également:
- PHP et Javascript
- Telecharger javascript - Télécharger - Langages
- Easy php - Télécharger - Divers Web & Internet
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Bouton php - Forum PHP
- \R php ✓ - Forum PHP
10 réponses
Utilisateur anonyme
17 déc. 2013 à 11:10
17 déc. 2013 à 11:10
Bonjour
Syntaxiquement, ton code est correct. Par contre "appeler une fonction javascript dans le code PHP" n'est pas possible avec le sens habituel d'"appeler une fonction" en informatique : le PHP s'exécute sur une machine et le Javascript sur une autre.
Ce que ton code fait, c'est que s'il y a une certaine condition ($reponse) qui est vérifiée dans le serveur, le serveur va inclure un bout de code javascript dans ta page, qui va s'exécuter (si la fonction Efface() est définie) chez ton visiteur.
C'est bien ça que tu cherches à faire ?
Syntaxiquement, ton code est correct. Par contre "appeler une fonction javascript dans le code PHP" n'est pas possible avec le sens habituel d'"appeler une fonction" en informatique : le PHP s'exécute sur une machine et le Javascript sur une autre.
Ce que ton code fait, c'est que s'il y a une certaine condition ($reponse) qui est vérifiée dans le serveur, le serveur va inclure un bout de code javascript dans ta page, qui va s'exécuter (si la fonction Efface() est définie) chez ton visiteur.
C'est bien ça que tu cherches à faire ?
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
17 déc. 2013 à 14:42
17 déc. 2013 à 14:42
Salut,
Donc apparemment tu n'utilise pas ajax donc ton code php est correct (tu dois voir le code
A mon avis l'erreur vient du fait que tu appel ta fonction Javascipt Efface() alors que celle-ci n'est pas encore définie, ou que le textarea sur lequel ta fonction agit n'est pas encore chargé dans ta page.
Pour cela deux solutions :
- soit tu fait tes appels de fonction javascript tout à la fin de ta page html (avant la fermeture de la balise body)
- soit tu utilises l'événement onload pour attendre que ta page soit complétement chargée avant d'exécuter ton javascript.
Pour la deuxième solution, tu peux essayer comme ceci :
Bonne journée
Donc apparemment tu n'utilise pas ajax donc ton code php est correct (tu dois voir le code
<script>Efface()</script>dans le code source de ta page).
A mon avis l'erreur vient du fait que tu appel ta fonction Javascipt Efface() alors que celle-ci n'est pas encore définie, ou que le textarea sur lequel ta fonction agit n'est pas encore chargé dans ta page.
Pour cela deux solutions :
- soit tu fait tes appels de fonction javascript tout à la fin de ta page html (avant la fermeture de la balise body)
- soit tu utilises l'événement onload pour attendre que ta page soit complétement chargée avant d'exécuter ton javascript.
Pour la deuxième solution, tu peux essayer comme ceci :
if ($reponse) { echo '<script>window.onload=function(){ Efface() };</script>'; }
Bonne journée
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
17 déc. 2013 à 14:56
17 déc. 2013 à 14:56
C'est qui les neuneus qui s'amusent à mettre des -1 à tour de bras ?
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
Modifié par maka54 le 17/12/2013 à 15:23
Modifié par maka54 le 17/12/2013 à 15:23
je reconnais que mon post le mérite,j'ai écris trop vite :s https://forums.commentcamarche.net/forum/affich-29313147-php-et-javascript#2
cela dit çà fonctionne, j'utilisais cette methode lors d'un envoie de formulaire via une iframe (upload de fichier) ...
d'ou le window.top.window ...
cela dit çà fonctionne, j'utilisais cette methode lors d'un envoie de formulaire via une iframe (upload de fichier) ...
d'ou le window.top.window ...
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
17 déc. 2013 à 15:31
17 déc. 2013 à 15:31
Quasiment tous les messages avaient au moins un -1...
y'en a un qui a pas du apprécier de se prendre le 1er ;)
y'en a un qui a pas du apprécier de se prendre le 1er ;)
Utilisateur anonyme
17 déc. 2013 à 13:42
17 déc. 2013 à 13:42
"Un visiteur entre un mot dans la zone de texte"
Comment le serveur est-il averti de ce mot ? Le visiteur clique sur un bouton ? Ou tu as un "onchange" dans ton input ?
Comment le serveur est-il averti de ce mot ? Le visiteur clique sur un bouton ? Ou tu as un "onchange" dans ton input ?
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
6
17 déc. 2013 à 14:07
17 déc. 2013 à 14:07
Oui il y a un bouton "valider". Je n'ai pas précisé tout ça parce que je pensais que c'était seulement un problème de syntaxe avec le echo...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
17 déc. 2013 à 14:18
17 déc. 2013 à 14:18
Quand on clique sur 'valider', on valide un formulaire ou tu fais un appel au serveur par Ajax ?
enqueteactualite
Messages postés
70
Date d'inscription
mercredi 11 décembre 2013
Statut
Membre
Dernière intervention
16 mai 2015
16
Modifié par pijaku le 18/12/2013 à 09:38
Modifié par pijaku le 18/12/2013 à 09:38
tu peux faire comme suite :
partie php (en supposant que ton code php citer plus haut est bon) :
----------
Partie html :
partie php (en supposant que ton code php citer plus haut est bon) :
if($reponse) { echo "<script> window.onload=function(){ document.getElementById('id_txt').style.display = 'none'; }; </script>"; }
----------
Partie html :
<p id="id_txt">voici le texte à cacher</p>
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
6
Modifié par pijaku le 18/12/2013 à 09:38
Modifié par pijaku le 18/12/2013 à 09:38
Et bien en fait, en faisant simplement
Ca fonctionne !
<?php id($reponse) { ?> <script language="Javascript">fonction()</script>; <?php ........ } ?>
Ca fonctionne !
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
17 déc. 2013 à 09:59
17 déc. 2013 à 09:59
Bonjour, comme ceci
if($reponse) { echo '<script type="text/javascript">window.top.window.Efface();</script>'; }
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
6
17 déc. 2013 à 13:23
17 déc. 2013 à 13:23
Oui c'est bien ça. Et j'ai beau essayer tous les codes donnés au dessus, ça ne fonctionne pas.
En fait, le visiteur entre un mot dans la zone de texte et en fonction de ce qui sera inscrit, un élément va disparaître ou apparaître de la page du visiteur
En fait, le visiteur entre un mot dans la zone de texte et en fonction de ce qui sera inscrit, un élément va disparaître ou apparaître de la page du visiteur
adriellens
Messages postés
171
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
18 décembre 2013
4
16 déc. 2013 à 23:53
16 déc. 2013 à 23:53
Essaye
<?phpJ'ai jamais testé mais.. Pourquoi pas ? :)
if($reponse)
{
echo '?><script>Efface()</script><?php';
}
?>