【发布时间】:2021-02-15 20:04:07
【问题描述】:
我试图让我在搜索栏中写的单词出现在控制台上,但它似乎总是“null”。我查看了其他答案,它似乎总是一个“onload”问题,我不相信我有这个问题,因为在我的 html 中,我的 body 有一个“onload”,它可以完成我的设置。
设置确实与 Firebase 相关,但是当我取消注释“btn.onclick = search”时,它会给我“无法将属性 'onclick' 设置为 null”,即使元素 id 为 'btn ' 在代码中。
所以我把它改成了'onMouseDown = 'search()'',但是虽然它确实打印出测试值5,它不会打印出除了'searchBar'的null之外的任何东西,即使里面的值是自动“搜索...”。知道为什么会这样吗?
代码:
function setup(){
initializeFirebase();
var database = firebase.database();
var featuredRef = database.ref("Featured/");
var featured_ul = document.getElementById("featured_links");
setupLunr(featuredRef, featured_ul);
//var btn = document.getElementById(btn);
//btn.onclick = search;
//createServer();
}
function search(){
console.log(5);
var inputHandle = document.getElementById(searchBar);
console.log(inputHandle.value);
// var tag = inputHandle.value;
// console.log(tag);
// index.search(tag);
//console.log(index.search(tag));
// console.log(inputHandle);
}
<body onload="setup()">
<input type="text" id="searchBar" value="Search..." maxlength="30" autocomplete="off" onMouseDown="active();" onBlur="inactive();" />
<button id="btn" onMouseDown="search();">Go</button>
<h1>featured</h1>
<ul id="featured_links"></ul>
</body>
【问题讨论】:
-
您是否将正确的字符串传递给 getElementById()?也许你错过了一些双引号? ... document.getElementById("btn")
标签: javascript search null