javascript - 尝试在 js 中声明全局变量时无法控制台输入字段值
问题描述
<input type="text" id='listInput'>
<button type='button' onclick="addList()">Add</button>
<script>
let input = document.getElementById('listInput').value;
function addList(){
console.log(input);
}
</script>
在这里,我试图获取 listInput 值并将其显示在控制台上。
当我将 listInput 声明为全局变量时,控制台上不会显示任何内容,但是当我在函数内部声明 listInput 并将其设为本地时,我会得到 listInput 值。
但我想将 listInput 声明为全局而不是仅使用 javascript 的控制台 listInput 值的本地。
解决方案
问题是当你分配输入时,输入的值是空的。您可以尝试分配输入元素而不是其值,并稍后在代码中访问该值:
<script>
let input = document.getElementById('listInput');
function addList(){
console.log(input.value);
}
</script>
推荐阅读
- image - 从激光雷达数据生成反射率和距离图像
- javascript - 存储 react 原生回调函数
- performance - 从 Vue 方法内部多次调用计算属性是否会影响性能?
- javascript - 投射时jsLint奇怪的分配错误
- elasticsearch - 无法在我的机器中启动 ElasticSearch,执行 elasticsearch.bat 时发生 StartupException
- javascript - 从源访问 XMLHttpRequest 已被阻止(CORS 错误)
- angular - 按顺序处理请求
- jquery - 如何在页面加载或单击按钮时设置条件
- asp.net-core - 为什么我的 JQuery 自定义数据验证不会在提交时执行?
- spring-boot - 如何处理 Kafka Consumer 中的错误