IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

ajax sur onclick


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Par défaut ajax sur onclick
    Bonjour, je débute dans le monde de jquery, et j'aimerais trouver comment modifier une fonction trouvé sur le web qui envoie des requetes a une page search.php dès que je tape quelque chose dans un formulaire (champ texte).

    Voici la partie jquery:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
        <script type='text/javascript'> 
          $(document).ready(function(){ 
          $("#search_results").slideUp(); 
              $("#search_button").click(function(e){ 
                  e.preventDefault(); 
                  ajax_search(); 
              }); 
              $("#search_term").keyup(function(e){ 
                  e.preventDefault(); 
                  ajax_search(); 
              }); 
          });
     
          function ajax_search(){ 
            $("#search_results").show(); 
            var search_val=$("#search_term").val(); 
            $.post("templates/search.php", {search_term : search_val}, function(data){
             if (data.length>0){ 
               $("#search_results").html(data); 
             } 
            }) 
          } 
        </script>
    et mon formulaire html:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <h1>My Search</h1> 
     
        <form id="searchform" method="post"> 
          <div> 
              <label for="search_term">Search name/phone</label> 
              <input type="text" name="search_term" id="search_term" /> 
              <input type="submit" value="search" id="search_button" /> 
           </div> 
        </form>
     
        <div id="search_results"></div>
    J'aimerais qu'aucune action ne soit faite avant que je ne clique le bouton search. Mais avec ce code cela ne fonctionne pas et continu a envoyer des requetes vers ma page search.php dès que je tape une lettre ou un chiffre.

    Quelqu'un aurait une solution?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Par défaut
    Je crois que j'ai trouvé mon problème:

    J'ai enlever cette partie de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
              $("#search_term").keyup(function(e){ 
                  e.preventDefault(); 
                  ajax_search(); 
              });

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonjour.

    Exemple (on affiche la frappe, mais on n'exécute que lors du submit) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function ajax_search(){ 
    	$.post("templates/search.php", {search_term : $("#search_term").val()}, function(data){
    		if (data.length > 0){ 
    			$("#search_results").html(data); 
    		} 
    	});
    }
     
    $(function(){
    	$("#search_results").slideUp();
     
    	$("#search_term").keyup(function(e){ 
    		e.preventDefault();
    		$("#search_results").show().text($("#search_term").val());
    	});
     
    	$("#searchform").submit(ajax_search);
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Par défaut
    Bonjour, je n'ai pas vraiment besoin de voir ce que je tappe dans le search box apparaitre dans le div au fur et à mesure que j'entre un chiffre donc je crois que le code suivant serait ok:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
          $(document).ready(function(){  
              $("#search_submit").click(function(e){ 
                  e.preventDefault(); 
                  ajax_search(); 
              });  
          });
     
          function ajax_search(){ 
            $("#search_results").show(); 
            var search_val=$("#search_term").val(); 
            $.post("templates/search.php", {search_term : search_val}, function(data){
             if (data.length>0){ 
               $("#search_results").html(data); 
             }
            }) 
          }
    Par contre je me demandais comment afficher une image type loader pendant que ma recherche s'effectue (avant d'afficher le résultat)?

Discussions similaires

  1. Execution Ajax sur un onclick qui quitte la page
    Par dojbouli dans le forum jQuery
    Réponses: 7
    Dernier message: 19/07/2013, 09h42
  2. [AJAX] Ajax sur onclick d'un lien
    Par vodasan dans le forum AJAX
    Réponses: 2
    Dernier message: 11/03/2013, 07h13
  3. [1.x] Requete Ajax sur onclick
    Par Knarf64 dans le forum Symfony
    Réponses: 8
    Dernier message: 13/07/2011, 16h24
  4. ajax et onclick sur un button
    Par shonem dans le forum Débuter
    Réponses: 0
    Dernier message: 19/04/2010, 09h56
  5. [AJAX] Ajax et onclick sur un href
    Par Interface dans le forum AJAX
    Réponses: 30
    Dernier message: 22/09/2009, 00h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo