1

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

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

我正在使用 hidden_​​value 并标记“搜索”

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

3 回答 3

3

您可能还需要指定此 == 文档并使用双引号,以防“搜索”是对对象的引用,以确保正确插入

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

或使用 jQuery:

 var val = $("#search").val();
于 2012-06-23T04:48:38.983 回答
1

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

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

所以上面的代码假设你的元素已经id设置为id="search"


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

getElementsByTagName('tagName')[indexHERE].value
于 2012-06-21T23:25:58.907 回答
1

getElementsByTagName 根据标签名称返回一个包含许多对象的数组,例如 input、div、a 等。如果这是您的搜索栏的样子:

<input id="search" />

然后做:

getElementById('search').value;
于 2012-06-21T23:25:59.200 回答