2011-06-17 8 views
1

Magentoで構築された電子商取引用のカスタム検索フォームを作成しようとしています。新しいページではなく、jQueryでインラインで検索結果を表示

この検索フォームは、いくつかの(ドロップダウン)選択ボックスで構成されています。フォームは正しく機能していますが、検索値を選択してフォームを送信すると、結果が新しいページに移動します。

検索ページのURL:http://exampleshop.com/catalogsearch/advanced
結果ページのURL:私がやりたい何http://exampleshop.com/catalogsearch/advanced/result/?color=red&size=large

ではなく、いくつかのjQueryを使ってフォーム以下のdivで検索結果をロードしています。

私はこれを検索していくつかの例を見つけましたが、どこにも出てこないようです。スタックオーバーフローについても同様のスレッドをいくつか見てきましたが、ここではまだ何も私のために働いていません。

ご協力いただきありがとうございます。

答えて

3

.LOADは最も簡単な方法です。基本的にはプログラムを呼び出し、終了すると結果は必要な場所にロードされます。その最も完全な形で、それは次のようになるだろう:

$("#results").load("/search.php?keyword=" + $("#searchinput").val() + " #phpresult", showResults) 

(あなたがエンコードまたは何でもする必要があるだろう)「searchinput」フィールドの値を持つパラメータキーワードでsearch.phpを呼び出します。 search.phpページの検索が終了すると、idが 'phpresult'のコンテナに結果が残る可能性があり、呼び出し元プログラムの 'results'コンテナの内容が置き換えられます。ロードが完了すると、あなたがしたいことをするために関数 'showResults'が呼び出されます。最も単純な形式で
はそれだけで#resultsに行くだろうプログラムと結果の全身を呼び出す

$("#results").load("/search.php?keyword=" + $("#searchinput").val()) 

ようになると思います。

関連する問題