直接用 document.getElementById("搜索框的id").value 获取值,需确保ID正确、元素已加载;推荐在 DOMContentLoaded 中执行,加存在性判断并 trim() 空格,实时监听用 input 事件。

直接用 document.getElementById("搜索框的id").value 就能拿到值,前提是页面中确实存在对应 ID 的元素,且脚本执行时该元素已加载完成。
确保元素存在且 ID 正确
检查 HTML 中搜索框是否设置了唯一、拼写正确的 id 属性,比如:
<input type="text" id="searchInput" placeholder="请输入关键词">
ID 区分大小写,"searchinput" 和 "searchInput" 是两个不同 ID。建议在控制台手动输入 document.getElementById("searchInput") 看是否返回元素,不返回说明 ID 错了或元素还没生成。
立即学习“Java免费学习笔记(深入)”;
确保脚本执行时机合适
如果脚本写在 <head> 里,DOM 还没加载完,getElementById 会返回 null。解决方法有三种:
- 把
<script>标签移到</body>前面 - 用
DOMContentLoaded事件包裹逻辑:document.addEventListener("DOMContentLoaded", () => {
const val = document.getElementById("searchInput").value;
console.log(val);
});
deep-java-review下载Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- 给
<script>加defer属性(适用于外部脚本)
读取值前加安全判断
避免因元素不存在导致报错,推荐加一层存在性检查:
const input = document.getElementById("searchInput");
const value = input ? input.value.trim() : "";
.trim() 能去掉用户误输的首尾空格,更符合实际搜索场景。
绑定实时监听(可选进阶)
如果需要用户每打一个字就响应,别只读一次,而是监听 input 事件:
document.getElementById("searchInput").addEventListener("input", function() {
console.log("当前输入:", this.value);
});
注意用 input 而不是 change,前者支持实时响应,后者只在失焦时触发。

















