使用Rails在文本字段中提交链接

时间:2013-02-27 01:17:08

标签: ruby-on-rails ruby-on-rails-3 forms

我有一个简单的搜索表单与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"

实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

不知道我是否理解得很好,告诉我这是不是你想要的。

不要使用提交按钮,而是通过单击图像或文本字段内的其他元素来执行提交。为了实现你可以使用jquery和ajax使用unobtrubsive 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')
  })
});
}