2017-05-05 4 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> 

そして、私がキーアップしたときにボタンで検索するそれをに変更してください。(function()ボタンではなく入力をクリックして検索します。私を助けてくれますか?私はどこでミスをしたのかわからない。

答えて

0

ボタンのonclickハンドラの例、ここであなたはkeyupハンドラの場合と同じ操作を行い、その差はまた、あなたはデフォルトsubmitイベントを防ぐために必要がある代わりに$(this).val();

$('#vyhledat_text').val();から値を取るということです。私は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

Do not do。 「試行」はありません。 ***良い答え***は、何が行われたのか、それがOPのためだけでなく、将来の訪問者のためにそうした方法で行われた理由について、常に説明します。 –

+0

"/index.php?vyhledat_text="が表示され、fetch.phpコードを見たいと思いませんか? –

+0

デフォルトの 'submit'イベントを防ぐことで自分の答えを更新しました – Leguest

関連する問題