无法在控制台显示输入值的技术问题求助
问题分析与解决
问题根源
你遇到的问题出在输入值的获取时机和变量存储方式上:
- 页面加载时,脚本立即执行
const taskSelectorValue = taskSelector.value,此时输入框还未被用户输入内容,这个变量的值是空字符串,后续打印自然看不到有效内容。 - 点击按钮调用
choiceFunction时,你打印的还是初始化时就固定的旧值,没有实时去获取输入框当前的内容。
修复方案
把获取输入框值的操作移到需要使用它的时机(比如点击按钮时),不要提前存储为常量。修改后的JavaScript代码如下:
let tasks = [] const includeTask = document.getElementById("include-task") const listTask = document.getElementById("list-task") const taskSelector = document.getElementById("task-selector") // 页面加载时输入框为空,此打印若不需要可删除 console.log("页面加载时的输入值:", taskSelector.value) function choiceFunction() { console.log("cheguei aqui") // 每次点击按钮时,实时获取当前输入框的value const currentValue = taskSelector.value console.log(currentValue) } // 页面加载时调用会打印空值,此调用若不需要可删除 choiceFunction()
额外扩展
如果需要在用户输入过程中实时获取值,可以给输入框添加input事件监听:
taskSelector.addEventListener('input', function() { console.log("实时输入值:", this.value) })
内容的提问来源于stack exchange,提问作者user18018529
相关产品推荐
相关产品推荐

