2013-02-12 7 views
0

그래서 나는 자바 초보자이고 내 HTML 템플릿의 변수를 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은 내가 원하는 정확한 출력을받지 못했습니다 때문에 쿼리를 참조하는 올바른 방법이 아니라고 분명하다

<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> 

여기 내 자바 스크립트 코드 조각입니다.

사용자가 검색 한 검색어의 변수를 어떻게 캡처합니까? 가능하면

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

답변

2

를 사용하여 일반 자바 스크립트 :

+0

감사합니다. 위의 방법과이 방법의 차이점은 무엇입니까? – user1328021

+0

위의 예는 약 100 배 느리고 전체 페이지에서 한 번만 "search-query"클래스를 사용합니다. ID는 정의에 따라 고유합니다. –

+1

'100 배 느린'이 공정한 평가인지 85 %인지 알 수 없습니다. (http://jsperf.com/jquery-selector-value) – vol7ron

2

사용 $('.search-query').val() 해당 클래스의 이름을 입력 요소의 값을 얻을 수 있습니다.

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

감사합니다. 그래서 기본적으로 자바 스크립트에서 입력을 삽입하기위한 형식입니다 - $ ('. ) .val() - 미안 해요 Javascript를 처음 사용하고 주로 MixPanel 용으로 사용합니다. 따라서 내 이해를 해킹하고있는 이유는 무엇입니까? 그것 .... – user1328021

+1

@ user1328021 이것은 자바 스크립트지만, 순전히 자바 스크립트는 아닙니다. 그리고 네,'$ ('. 클래스 이름')'이 필요하지만 처음에'.'는 클래스 이름 이후에 오는 이름을 의미합니다. id 속성을 가진 요소의 경우에는'#'이 필요합니다. 예를 들면 :'$ ('# id-name')'. – 0x499602D2

+0

@David jQuery가 선택 엔진으로 사용될 때마다 하나님은 lolcat을 죽입니다. –