PHP et Javascript
parousky
Messages postés
325
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, pour m'entraîner aux languages PHP et Javascript, j'aimerai coder une zone de texte, où, si le mot entré est le même que celui qui est retenu dans la base de données, la zone de texte disparaît. Alors chercher dans la base de données, c'est facile, mais appeler une fonction javascript dans le code PHP, c'est plus balèze !
Alors je voulais écrire ça :
Mais ça ne fonctionne pas, alors je ne sais pas si le problème vient de ' et de ", mais je ne trouve pas vraiment le problème comme ça. Voyez-vous le problème ?
Merci d'avance !
Alors je voulais écrire ça :
if($reponse)
{
echo '<script>Efface()</script>';
}
Mais ça ne fonctionne pas, alors je ne sais pas si le problème vient de ' et de ", mais je ne trouve pas vraiment le problème comme ça. Voyez-vous le problème ?
Merci d'avance !
A voir également:
- PHP et Javascript
- Easy php - Télécharger - Divers Web & Internet
- Telecharger javascript - Télécharger - Langages
- Expert php pinterest - Télécharger - Langages
- A javascript error occurred in the main process - Forum Windows
- A javaScript error occurred in the main process - Forum Handicap / Accessibilté
10 réponses
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 ?
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
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 ...
"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 ?
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
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>
Et bien en fait, en faisant simplement
Ca fonctionne !
<?php
id($reponse)
{
?>
<script language="Javascript">fonction()</script>;
<?php
........
}
?>
Ca fonctionne !
Bonjour, comme ceci
if($reponse)
{
echo '<script type="text/javascript">window.top.window.Efface();</script>';
}