我有一个简单的搜索表单与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"
实现这一目标的最佳方法是什么?
答案 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')
})
});
}