如何获得text_field rails的价值
我有一个文本字段:
'input-xxlarge search-query',:id=>'keyword' %>
然后单击链接我想将此文本字段中的值传递给控制器方法。 我不想使用表单和表单提交。
我的链接为:
GO
并且对于这个’搜索’方法我想传递文本字段值….也可以直接转到设置为此操作“搜索”的页面“/ home / search”
我该怎么做呢??? 谢谢…
在这里阅读link_to与url一起发送参数并在目标页面上抓取它们
<%= link_to "Go", '/home/search?param1=value' %>
因此,如果您不使用表单,则应使用jQuery将字段值放入带有参数的属性链接(href)中。 关于jsffidle的示例
<%= text_field :search, :class=>'input-xxlarge search-query',:id=>'keyword' %> <%= link_to "Go", '', :id => "searchlink" %> $(':input').bind('keypress keydown keyup change',function(){ var word = $(':input[id="keyword"]').val(); $('a[id="searchlink"]').attr("href","/home/search?param1=" + word.toString()); });
并在控制器中:
if params[:param1] == "" render :search # or redirect whatever do you want else param = params[:param1] .... end
在您的路线文件中
resources :home do member do get 'search' end end
在你的HTML中
<%= text_field :search, nil, :class=>'input-xxlarge search-query',:id=>'keyword' %> <%= link_to("GO", '#', :class => 'search-link')
在javascript文件中
$(document).ready(function(){ $('div#parentDiv').on('click', '.search-link', function(){ var search_val = $('#keyword').val().trim(); if(search_val != ''){ window.location.href='/home/'+search_val+'/search'; } else{ alert('You need to enter some data'); } }); });
并在您的搜索操作中
def search search_value = params[:id] # your code goes here. end
尝试这样的事情……(未经测试)。 这会给你逻辑。
<%= link_to "Go", "#", onclick: "window.location = \"www.sitename.com/home/search?q=\"+$(\"#keyword\").val()" %>