2010-10-14 8 views
2

J'ai quelques fichiers HTML, et ce que je veux faire, est de mettre quelque chose comme ce qui suit, à l'intérieur de la section <head> du document html:Comment exécuter une fonction PHP dans un événement onclick?

<script href="myphpfile.php" />

puis quelque part sur ma page, je veux appeler une fonction PHP à partir d'un événement onclick, comme ceci:

<a onclick="performPhpFunction();" href="javascript:void(0);">Do something</a>

Comment puis-je faire cela? Je ne sais pas pourquoi, mais en cherchant une solution ce soir, je n'arrive pas à en trouver un, et j'ai vu ça plusieurs fois, mais j'ai oublié comment c'était fait, et maintenant je ne me souviens plus quels sites Je l'ai vu.

+0

jetez un oeil à http://www.xajax-project.org/ – teemitzitrone

Répondre

4

Vous pouvez charger le fichier PHP sur AJAX avec JS

jQuery

$("#link").click(function(){ 
     $.ajax({ 
      url: "myphpfile.php" 
     }); 
}); 
+0

Parfait. Je comprends. Wow, je n'ai jamais pensé que jQuery était si facile. Merci un milliard! –

3

Umm .... PHP ne fonctionne pas de cette façon. PHP est côté serveur. Vous ne pouvez pas appeler directement les fonctions PHP à partir d'un handler onclick. Cela peut seulement appeler le code javascript (qui est le code client). Ce que vous pouvez faire est d'appeler la fonction PHP via un appel AJAX GET.

1

Vous ne pouvez pas appeler des fonctions PHP à partir de JavaScript directement. Vous pouvez soit utiliser AJAX pour rappeler une page PHP qui fait ce que vous voulez, comme Rocket et Fincha l'ont dit ou vous pouvez obtenir PHP pour afficher le javascript, et le changer en fonction de ce que l'utilisateur vous envoie.

Pour faire ce dernier; dans le fichier PHP, vous aurez besoin d'une ligne comme

<?php 

header('Content-type: text/javascript'); 

?> 

Et cela doit être AVANT de produire quoi que ce soit. Ensuite, vous générez le javascript, comme vous le feriez pour n'importe quel fichier javascript, mais vous pouvez utiliser les données côté serveur et l'inclure dans votre fichier.

function AJavascriptFunction() 
{ 
    alert(<?= $_GET['getvar'] ?>); 
} 

Ensuite, dans votre page HTML ou PHP, vous pouvez faire

<a onclick="AJavascriptFunction();" href="javascript:void(0);">Do something</a> 

Je ne recommande pas. Utilisez AJAX

+0

Merci! Oui, je n'aime pas l'idée d'utiliser Javascript pour cela, probablement pour des raisons différentes. Je vais vérifier AJAX :) –