Lancer une fonction javascript depuis script php ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Lancer une fonction javascript depuis script php ?

Une autre solution

par Phil93 » 27 févr. 2007, 22:28

Désolé si on ne doit pas répondre à une question résolue, mais comme j'ai trouvé qu'elle n'était résolue qu'à moitié :D je me permets d'y répondre autrement :

L'autre solution, javascript celle-là, est bien entendu d'utiliser le "onload" du body :

Code : Tout sélectionner

<?PHP … … if (cecicela ) $maFonctionDinitialisation = "ditluibonjour()"; elseif (cecicela2 ) $maFonctionDinitialisation = "ditluidallerserhabiller()"; elseif etc. … … echo <<<TXT # Mon en-tête et tout le tralala … # Et enfin : <body onload="$maFonctionDinitialisation"> … … </body> </html> TXT; ?>
Bien à vous tous,

Phil

par telecofr » 21 févr. 2007, 11:41

j'ai trouvé une façon plus radicale pour être sûr d'effacer les input:
si le message est envoyé, je fais dans la condition if :
$_POST['input1']='';
$_POST['input2']='';

et là cela marche ! :)

Je m'obstinais à faire du javascript... ! :roll:

Merci de vos aides !!!

par albat » 21 févr. 2007, 11:32

Dans ce cas, il serait opportun de nous montrer un peu plus de ton code.
La solution est ailleurs... ;)

par telecofr » 21 févr. 2007, 11:23

Merci Albat pour ta réponse.

J'ai essayé ta méthode, mais cela ne marche pas... :(

C'est pour un formulaire de contact : quand je clique sur "envoyer", cela renvoi sur la même page, et le script php vérifie si les input ne sont pas vides/corrects.
Si vide => message d'erreur, et donc on n'efface pas les input pour les corriger
Si pas vide => envoie du mail et effacement des input.

Le pb ici est donc : que le message soit envoyé ou erroné, les input ne sont pas effacés.

Merci de ton aide !

par zeus » 21 févr. 2007, 10:15

Petite précision :
La solution d'Albat doit fonctionner, mais ne perd pas de vue que le JS s'exécute après que le PHP a complètement terminé son exécution.

le PHP va faire que le code JS sera exécuté dès que la page sera affichée et non pas lors de l'exécution du code PHP.

par albat » 21 févr. 2007, 09:21

Ceci devrait fonctionner :
if (!test)
   { echo "erreur";
   }
   else
   { echo "<script type='text/javascript'>Initialise('input1', 'input2');</script>\n";
   }
ou, plus logique :
if (test)
   { echo "<script type='text/javascript'>Initialise('input1', 'input2');</script>\n";
   }
   else
   { echo "erreur";
   }
autre écriture :
echo (test ? "<script type='text/javascript'>Initialise('input1', 'input2');</script>\n" : "erreur"); 

Lancer une fonction javascript depuis script php ?

par telecofr » 20 févr. 2007, 23:12

Salut,

j'ai un script php dans la partie <body> qui utilise une condition if/else et je voudrais lancé automatiquement une fonction javascript dans la partie else.
J'ai essayé cela, mais cela ne marche pas :

Code : Tout sélectionner

if(!test) echo 'erreur'; else <script language="JavaScript">Initialise('input1', 'input2');</script>;
j'ai essayé aussi de mettre un echo devant le "<script>...</script>" mais cela ne marche pas non plus.

Comment faire pour lancer cette fonction "Initialise" ?

Merci de votre aide !