-3

重複の可能性:
読み込み時に入力ボックスにフォーカスする

テキストをすぐに入力できる HTML 検索フォームが必要です。グーグルと同じ。クリックして検索フォームにテキストを入力する必要はありません

4

1 に答える 1

0

あなたが探していることは、いくつかの異なる方法で達成することができます。最も簡単なのは、jqueryを介したAJAXPOSTを使用することです。少し例を挙げましょう。

検索入力に「キーワード」などの名前属性があるとしましょう。

$(function(){  
  $("input[name='keywords']").keyup(function(){
    $(".search_results").slideUp("normal", function(){
      $.ajax({  
        type: "POST", url: "searchquery.php", 
        data: {keywords: $(this).val()},
        success: function(response){
          if(response != "error")
          {
            $(".search_results").html(response);
            $(".search_results").slideDown();
          }
          else
          {
            alert("Error Searching. Please refresh the page and try again.");
          }
        }
      });
    });
  });
});

次に、searchquery.phpでデータベースの検索を処理し、データをhtml形式で返す必要があります。多分このようなもの:

if(trim($_POST["keywords"]) != "")
{
  $keywords = mysql_real_escape_string($_POST["keywords"]);

  //search the DB for maybe 5 top results and return them in something like a HTML list:
  $results = '<ul><li>first</li><li>second</li></ul>';

  die($results);
}

クラス「search_results」が定義されたdivまたはHTMLオブジェクトを自分でフォーマットします。

また、タイマーを追加することをお勧めします。これにより、「キーアップ」関数がヒットするたびに、時間が記録され、ファイルへの次の呼び出しが許可されるまでの最小時間が_になります。そうすれば、誰かが1つの単語を書いたときに、PHPファイルが5回呼び出されることはありません。

于 2012-10-01T01:43:08.587 に答える