2016-02-27 31 views
0

HTML的document.getElementById不会设置变量

<form role="form"> 
     <div class="form-group"> 
      <label for="search" style="display:none">Search:</label> 
      <input type="search" class="form-control" id="searchInput" placeholder="Type a game to search"> 
      <button type="submit" id="search" class="btn btn-default">Search</button> 
     </div> 
</form> 

JS

$("#search").click(function(){ 
    var query = document.getElementById("#searchInput").value; 
    console.log(query); 
    }); 

我要为#搜寻设定输入字段变量的onclick事件,这样我就可以在其他地方使用稍后并将其传递给其他函数,但控制台返回null? *我已至此

+1

只是好奇,为什么你混合本地选择和jQuery的 – Phix

回答

1

的功能的document.getElementByIdË只xpects实际的ID,而不是CSS选择器符号(#ID),这就是为什么返回null,因为从字面上搜索与ID #searchInput对象为:

<input type="search" class="form-control" id="#searchInput" placeholder="Type a game to search"> 
0

之前,如果您已经使用jQuery包括jQuery的

,您可以选择使用jQuery的searchInput(而不是JS - 的getElementById) 关于与替换线什么:

var query = $("#searchInput").val(); 

或者,只是省略#在您的线路(如建议obove我):

var query = document.getElementById("searchInput").value;