2017-05-05 2 views
1

Ich habe Form:Suche mit der Taste auf klicken statt Eingabe auf keyup. PHP und MYSQL

<form class="form-inline" style="width: 100%;"> 
    <input name="vyhledat_text" id="vyhledat_text" type="search" style="width: 69%;margin-right:1%;border-radius: 0;" class="form-control" placeholder="Vyhledat ..."> 
    <button style="width: 30%;border-radius: 0;" class="btn btn-outline-primary" type="submit">Vyhledat</button> 
    </form> 

und Skript:

<script> 
     $(document).ready(function(){ 

     load_data(); 

     function load_data(query) 
     { 
      $.ajax({ 
      url:"fetch.php", 
      method:"POST", 
      data:{query:query}, 
      success:function(data) 
      { 
      $('#výsledek').html(data); 
      } 
      }); 
     } 
     $('#vyhledat_text').keyup(function(){ 
      var search = $(this).val(); 
      if(search != '') 
      { 
      load_data(search); 
      } 
      else 
      { 
      load_data(); 
      } 
     }); 
     }); 
     </script>` 

und das Ergebnis:

<div id="výsledek"></div> 

Und ich will wissen, wie man Suche auf Knopf NICHT auf Taste, wenn ich ändere es in klick. (function() es sucht nur nach einem Klick auf die Eingabe NICHT auf der Schaltfläche. Kannst du mir bitte helfen? Ich weiß nicht, wo ich den Fehler gemacht habe.

Antwort

0

Schaltfläche Onclick-Handler Beispiel hier tun Sie das gleiche wie auf keyup Handler, aber Unterschied ist, dass Sie Wert von $('#vyhledat_text').val(); nehmen statt $(this).val();

Darüber hinaus müssen Sie Standard submit Ereignis verhindern. Ich habe es mit e.preventDefault() getan;

$('.btn.btn-outline-primary').click(function(e){ 

     e.preventDefault(); 

     var search = $('#vyhledat_text').val(); 
     if(search != '') 
     { 
     load_data(search); 
     } 
     else 
     { 
     load_data(); 
     } 

    }) 
+1

Tun oder nicht. Es gibt kein "Versuch". Eine *** gute Antwort *** wird immer eine Erklärung haben, was getan wurde und warum es so gemacht wurde, nicht nur für das OP, sondern auch für zukünftige Besucher von SO. –

+0

Es wird "/index.php?vyhledat_text=" angezeigt und es ist nicht zu denken Möchten Sie den fetch.php Code sehen? –

+0

Ich aktualisierte meine Antwort, mit dem Verhindern von Standard 'submit' Ereignis – Leguest

Verwandte Themen