2017-05-05 46 views
1

我有形式:希望通過單擊按鈕進行搜索,而不是在鍵入時輸入。 PHP和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> 

和腳本:

<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>` 

和結果:

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

而且我想知道如何當我在按鈕上進行搜索時,不在關鍵幀上搜索將其更改爲click(功能()它只在單擊不在按鈕上的輸入時進行搜索。你能幫我嗎?我不知道我犯了什麼錯誤/問題。

回答

0

按鈕onclick處理程序例子,在這裏你一樣做的keyup處理程序,但不同的是,你從$('#vyhledat_text').val();,而不是$(this).val();

你也需要防止默認submit事件採取價值。我用e.preventDefault()做到了;

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

     e.preventDefault(); 

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

    }) 
+1

是或否。沒有「嘗試」。一個好的答案***將總是解釋所做的事情以及爲什麼這樣做,不僅是爲了OP,還是爲了將來訪問SO。 –

+0

它會顯示「/index.php?vyhledat_text=」,不要鏈接你想查看fetch.php代碼嗎? –

+0

我更新了我的答案,防止默認'submit'事件 – Leguest

相關問題