将一个变量传递给Javascript

将一个变量传递给Javascript

问题描述:

所以我是一个Javascript新手,并且无法弄清楚如何将一个变量从我的HTML模板传递给Javascript。将一个变量传递给Javascript

我想通过用户输入到javascript的搜索查询。

这是我的模板来获取搜索查询。

<form class="well-whatsnext form-search" style="text-align:center; border-radius:10px 10px 10px 10px; width:900px; height:0px;background-repeat:no-repeat;margin-bottom:100px;" action="/search/?q="> 
<center> 
<input type="text" id = "form-search" value="Search for Stuff" class="input-xxlarge search-query" style="margin: 30px 0px 0px 70px; height:50px;width:600px;font-size:20px;vertical-align:middle;text-align:center;border-radius:10px 0px 0px 10px;float:left;border-right:0px;color:grey;border-right:0px;" name="q"> 
</center> 
<br> 
</form> 

这里是我的JavaScript代码段:

$("#form-search").click(function() { 
    // This sends us an event every time a user clicks the button 
    mixpanel.track('MainSearch', {'query' : search-query, 'url' : window.location.pathname}); 
}); 

显然,search-query不是指查询,因为我没有得到正确的输出我想要的正确方法。

如何捕获用户搜索的查询的变量?

使用普通的JavaScript尽可能。

{'query': document.getElementById('form-search').value} 
+0

谢谢 - 这种方法和上面的方法有什么区别? – user1328021 2013-02-12 02:41:23

+0

上面的内容大约慢了100倍,并且仅依赖于您在整个页面上仅使用“搜索查询”类。 ID根据定义是唯一的。 – 2013-02-12 02:42:01

+1

我不知道'100倍慢'是一个公平的评估,更像是85%(http://jsperf.com/jquery-selector-value) – vol7ron 2013-02-12 02:53:52

使用$('.search-query').val()以获取与类名输入元素的值:

{ 'query' : $('.search-query').val() ... } 
+0

非常感谢!所以基本上是用Javascript插入输入的格式 - $('。).val() - 对不起,我是Javascript的新手,主要是将它用于MixPanel,因此为什么我要破解我的理解它.... – user1328021 2013-02-12 02:36:31

+1

@ user1328021这是JavaScript,但不是纯粹的JavaScript。是的,你需要'$('。class-name')'但注意开头的'.'意味着它是类名后的名字。对于具有id属性的元素,您需要'#'。例如:'$('#id-name')'。 – 0x499602D2 2013-02-12 02:42:16

+0

@David每次将jQuery用作选择器引擎时,上帝都会杀死一个lolcat。 – 2013-02-12 02:43:05