2010-06-02 13 views
2

Okay. J'ai un formulaire - textarea (nommé "su") et soumettre le bouton.Exécuter PHP sans quitter la page

Lorsque le formulaire est soumis, je dois

  1. exécuter un script PHP sans rafraîchir/quitter la page
  2. "echo" ou en quelque sorte imprimer un retour sur l'écran

I » Je suis assez sûr que cela fonctionne via une sorte de requête ajax. mais je n'ai aucune idée de quoi je parle. Je ne suis pas un grand fan d'ajax ou de javascript, mais c'est une fonction que j'utilise très souvent et j'aimerais apprendre comment ça marche pour pouvoir l'implémenter quand j'en ai besoin maintenant et dans le futur.

Comme je l'ai dit je ne suis pas éduqué avec ajax ou java. un exemple rapide serait merveilleux.

merci de prendre le temps de lire!

+2

Exemple rapide ni vous éduquer. Pourquoi ne pas vous trouver un tutoriel en ligne? –

Répondre

0

Il est généralement préférable d'utiliser une bibliothèque Javascript pour faire AJAX.

Voir jQuery.get() pour un moyen d'envoyer une requête à une page Web PHP en utilisant la bibliothèque jQuery. Vous pouvez faire en sorte que votre page PHP soit exécutée en Javascript, ou en sortie de texte ou de données.

+0

OKaay merci. Je travaille moi-même ici en essayant de rassembler les choses. Implémenter un des exemples sur la page liée que vous m'avez donnée, mais j'en ai un q. Comment lier mon action de formulaire à la fonction que je viens de créer? fonction: .get $ ("back/update.php", {name: "John", le temps: "14 heures"}, fonction (données) { alerte ("Données Loaded:" + données); }); –

+0

Il existe un plugin jQuery appelé formulaires jQuery pour cela: http://plugins.jquery.com/project/form La syntaxe est assez similaire et les exemples en expliquent la plupart, je pense. – phsource

6

Simple, c'est ce qu'on appelle AJAX. La solution est plus de Javascript, que PHP. En utilisant Jquery, vous pouvez le faire avec un simple appel de fonction.

 <script src="jquery.js"></script> 

    <script type="text/javascript"> 
    $(document).ready(function(){ 
      $('#ID_Of_Your_Button').change(function(){ 
       $.ajax({ 
         type: "GET", 
         url: "send.php", 
         data: "query="+document.form.textarea.value, 
         success: function(msg){ 
         document.getElementById("Div_Where_you_want_the_response").innerHTML = msg       } 
        }) 
      }); 
     }); 


    </script> 

Fait l'affaire.

+0

Très bien mec juste ce que je cherchais. J'ai rempli tous les espaces réservés que vous m'avez donnés et mon fichier jquery est le dernier et disponible, mais pour une raison quelconque, cela ne fonctionne pas. J'ai aussi changé la "requête" en données pour juste "su", changé TYPE en POST (dans votre script) et ajusté ma page PHP pour récupérer les données "su" via POST.

Cela ne fonctionne toujours pas. Je n'ai aucune idée de ce qu'est le problème - tout correspond et correspond parfaitement à la perfection entre la forme, le script et la page PHP. –

+0

Pouvez-vous coller le code exact? – aswintyv

+0

J'ai eu des problèmes PHP similaires avec le script s'exécutant localement à partir d'un disque dur. Il fonctionnera probablement correctement si vous le téléchargez et l'exécutez à partir d'Internet. – bcdan

1

Si vous venez tout juste d'entrer dans ajax, PHP, et JQuery je suggère fortement d'utiliser firefox et d'installer Firebug. Apprenez à l'utiliser et il vous dira toutes sortes de grandes choses. Il n'y a pas assez d'espace pour vous dire tout ce qu'il fait, mais c'est, à ce stade, l'un de mes meilleurs outils de débogage. Apprenez-le, aimez-le et bonne chance.

Questions connexes