从javascript中的搜索框中获取价值

时间:2012-06-21 23:23:55

标签: javascript ruby

如何从javascript中的搜索框中获取值? 我想根据用户在搜索框中选择的内容将用户重定向到特定页面。 例如,如果用户选择“纽约”然后单击是,他将被重定向到page / about / New York

这适用于静态页面,但由于某些原因,我无法从搜索框中获取值。 在Ruby中我会用params [:query_name]

来获取它

我正在使用hidden_​​value和标记'search'

var val = getElementsByTagName('search').value;
if (r) {
  location.href  = "/about/" + val";
}    

3 个答案:

答案 0 :(得分:3)

你可能还需要指定这个==文档并使用双引号,以防“搜索”是对象的引用,以确保它被正确插值

 var val = document.getElementById("search").value;

或使用jQuery:

 var val = $("#search").val();

答案 1 :(得分:1)

你的意思是(因为我不认为有一个名为search的html标签):

var val = getElementById('search').value;
if (r) {
  window.location.href  = "/about/" + val;
}    

因此,上面的代码假设您的元素id设置为id="search"


顺便说一下,要使用getElementsByTagName选择特定元素,您还需要指定index,因为它返回节点列表:

getElementsByTagName('tagName')[indexHERE].value

答案 2 :(得分:1)

getElementsByTagName根据标记名称返回许多对象的数组,例如:输入,div,a等。如果这是您的搜索栏的样子:

<input id="search" />

然后做:

getElementById('search').value;