0

Rails 3.1 の単純な検索フォームがあり、送信ボタンの代わりに、クリックすると、テキスト ボックス (text_field_tag) 内のフォームを送信するためのリンクである拡大鏡の画像が必要です。例として、すべての検索エンジンを備えた入力ボックスである Firefox ブラウザーが挙げられます。私はグーグルでそれを行う方法を試しましたが、成功しませんでした。これまでのところ、私はこれを持っています:

 = form_tag("/search", :method => "get", :class => "search-forum") do
  = label_tag "Search for:"
  = text_field_tag :search
  = submit_tag "Search", :class => "search-submit"

これを達成するための最良の方法は何ですか?

4

1 に答える 1

1

私がよく理解できたかどうかわかりません。あなたが探しているものでない場合は教えてください。

送信ボタンを使用する代わりに、テキスト フィールド内にある画像または別の要素をクリックして送信を実行します。jquery と ajax を使用して邪魔にならない JavaScript を使用できることを確認するには、この場合、フォームは必要ありません。

これが text_field 用の html だとします。

<input id="search_bar" type="text" placeholder="Search..." name="q">
<span class="search-image"></span>

検索を実行するには、次のようなもの (js ファイル内) が必要です。

$(document).ready(function() {
$(".search-image").click(function(){
  var query = $('#search_bar').val() # Get the text on the text field
  $.get('/route?q=' + query, function(data){
    #Perform some actions with the data returned by the server
    $('#some_container').html(data)
  }).success(function(){
     #Here you can perform other actions if the request is successful
     alert('successful request')
  }).error(function{
    #In case the request fail
    alert('request failed')
  })
});
}
于 2013-02-27T02:56:40.150 に答える